我正在使用代码来打开/关闭自动 GPS,此代码在 Karbonn 手机上运行良好,但在三星 Galaxy Y 上运行良好。
public void turnGPSOn() {
Intent intent=new Intent("android.location.GPS_ENABLED_CHANGE");
intent.putExtra("enabled", true);
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"));
sendBroadcast(poke);
}
}
public void turnGPSOff() {
String provider = Settings.Secure.getString(getContentResolver(),
Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
if (provider.contains("gps")) {
// if gps is enabled
final Intent gps = new Intent();
gps.setClassName("com.android.settings",
"com.android.settings.widget.SettingsAppWidgetProvider");
gps.addCategory(Intent.CATEGORY_ALTERNATIVE);
gps.setData(Uri.parse("3"));
sendBroadcast(gps);
}
}
通过使用 turnGPSOff 方法,三星设备不会进行任何更改。turnGPSOn 方法效果很好。但是turnGPSOn方法有个问题,用这个方法得到修复后GPS接收机不进入睡眠模式,手机屏幕一直闪烁。当我不使用此方法时,在修复 GPS 接收器后进入睡眠模式直到下一个频率值。任何想法?请帮忙。