Android是否允許GPS以編程方式打開和關閉?如何打開和關閉GPS?
我使用下面(from here)
我使用的函數 「GPSStatus()」 使用的代碼[功能turnGPSon()& turnGPSoff()],以檢測是否GPS是上或沒有。
兩個問題:
turnGPSoff()不工作。turnGPSon()能夠打開GPS('我想',因爲我可以看到左上方狀態圖標中的GPS符號,但控制中心[galaxy s3]中的GPS按鈕雖然沒有突出顯示,但我準確無誤())
GPSStatus()總是返回false - 我檢查正確的方式嗎?
我的目標只是在語法上打開和關閉GPS嗎? (這是真的,Android的不允許GPS進行開啓和關閉程序作爲答案here提到?)
private boolean GPSStatus() {
ContentResolver contentResolver = getBaseContext().getContentResolver();
boolean gpsStatus = Settings.Secure.isLocationProviderEnabled(contentResolver, LocationManager.GPS_PROVIDER);
return gpsStatus;
}
public void turnGPSOn()
{
Intent intent = new Intent("android.location.GPS_ENABLED_CHANGE");
intent.putExtra("enabled", true);
this.sendBroadcast(intent);
String provider = Settings.Secure.getString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
if(!provider.contains("gps")){ //if gps is disabled
final Intent poke = new Intent();
poke.setClassName("com.android.settings", "com.android.settings.widget.SettingsAppWidgetProvider");
poke.addCategory(Intent.CATEGORY_ALTERNATIVE);
poke.setData(Uri.parse("3"));
this.sendBroadcast(poke);
}
}
// automatic turn off the gps
public void turnGPSOff()
{
myLogger.displayMsgs("in turnGPSoff()", true, true);
Intent intent = new Intent("android.location.GPS_ENABLED_CHANGE");
intent.putExtra("enabled", false);
sendBroadcast(intent);
}