Commit 438b3dad by Lee Jaebin

設定画面の位置情報 ON\OFF 取得方法の追加(getSystemServiceから取得できないため、どっちかがtureの場合、位置情報をONと見做す)

parent 28097a96
......@@ -4,6 +4,7 @@ import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import jp.agentec.abook.abv.bl.common.ABVEnvironment;
import jp.agentec.abook.abv.bl.common.log.Logger;
import jp.agentec.abook.abv.launcher.android.ABVApplication;
import jp.agentec.abook.abv.launcher.android.ABVUIDataCache;
......@@ -19,6 +20,7 @@ import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.os.Handler;
import android.provider.Settings;
public class LocationManagerUtil {
private final String TAG = "LocationManagerUtil";
......@@ -67,7 +69,10 @@ public class LocationManagerUtil {
final boolean gps = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
final boolean network = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
if (!gps && !network) {
// GPSの状態を取得(getSystemtServiceからのGPS ON/OFF取得が取れない場合があるため、secureで取得したgpsも判定するため)
final boolean secureLocationGpsEnabled = android.provider.Settings.Secure.getString(context.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED).indexOf("gps", 0) >= 0;
if (!(gps || network) || !(secureLocationGpsEnabled || ABVEnvironment.getInstance().networkAdapter.isNetworkConnected())) {
// この時点で位置情報サービスが有効でない場合は何もしない。
setLocationFailed();
return;
......@@ -234,7 +239,11 @@ public class LocationManagerUtil {
if (locationManager != null) {
final boolean gps = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
final boolean network = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
if (!gps && !network) {
// GPSの状態を取得(getSystemtServiceからのGPS ON/OFF取得が取れない場合があるため、secureで取得したgpsも判定するため)
final boolean secureLocationGpsEnabled = android.provider.Settings.Secure.getString(context.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED).indexOf("gps", 0) >= 0;
if (!(gps || network) || !(secureLocationGpsEnabled || ABVEnvironment.getInstance().networkAdapter.isNetworkConnected())) {
ABVUIDataCache appDataCache = ABVApplication.getABVUIDataCache(context);
if (appDataCache.checkLocationServiceFlg) {
// 位置情報が有効になっていない場合は、Google Maps アプリライクなダイアログを起動します。
......
......@@ -11,6 +11,7 @@ import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Build;
import android.os.Bundle;
import android.provider.Settings;
import android.widget.Toast;
import com.nttdocomo.android.sdaiflib.BeaconData;
......@@ -297,8 +298,11 @@ public class ABVCheckContentViewActivity extends ABVContentViewActivity {
LocationManager lm = (LocationManager) this.getSystemService(this.LOCATION_SERVICE);
final boolean gpsEnabled = lm.isProviderEnabled(LocationManager.GPS_PROVIDER);
// GPSの状態を取得(getSystemtServiceからのGPS ON/OFF取得が取れない場合があるため、secureで取得したgpsも判定するため)
final boolean secureLocationGpsEnabled = android.provider.Settings.Secure.getString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED).indexOf("gps", 0) >= 0;
//端末側の位置情報許可チェック
if (gpsEnabled) {
if (gpsEnabled || secureLocationGpsEnabled) {
ABookPermissionHelper helper = new ABookPermissionHelper(this, Constant.ABookPermissionType.AccessFineLocation, null);
//アプリ側の位置情報許可チェック(置くだけセンサーとLinkingアプリの通信できないため)
......
......@@ -12,6 +12,7 @@ import android.location.LocationManager;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.provider.Settings;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
......@@ -210,8 +211,12 @@ public class PairingSettingActivity extends ABVUIActivity {
LocationManager lm = (LocationManager) this.getSystemService(this.LOCATION_SERVICE);
final boolean gpsEnabled = lm.isProviderEnabled(LocationManager.GPS_PROVIDER);
// GPSの状態を取得(getSystemtServiceからのGPS ON/OFF取得が取れない場合があるため、secureで取得したgpsも判定するため)
final boolean secureLocationGpsEnabled = android.provider.Settings.Secure.getString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED).indexOf("gps", 0) >= 0;
//端末側の位置情報許可チェック
if (!gpsEnabled) {
if (!(gpsEnabled || secureLocationGpsEnabled)) {
showSimpleAlertDialog(R.string.set_pairing_central_thermometer, R.string.msg_location_device_no_allow);
return;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment