我开始知道我们不能以2.3.3版本的Android版本在程序上禁用Android,所以在我的Eclipse中我创建了一个目标sdk版本2.3.3的应用程序,我也安装了所需的所有库,但我仍然我无法禁用GPS。我正在尝试以下方法。
我也想知道。在Android 4.x.x中删除GPS更新时,是否会自动禁用GPS?
Void stopGPS()
{
String provider = Settings.Secure.getString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
if (provider.contains("gps"))
{ // if gps is enabled
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);
}
}
答案 0 :(得分:0)
Android指南已更改为4.0以上版本。对于4.0以上的版本,您无法以编程方式更改GPS。但是,您可以通过编程方式更改wifi。
您使用的代码是安全漏洞。它早已得到修复。应用程序无法以编程方式启用或禁用GPS,除非在root设备上。
Original Source from CommonsWare's Answer
然而,GPRS的安全漏洞仍然有效。
答案 1 :(得分:-2)
public void turnGPSOff()
{
String provider = Settings.Secure.getString(ctx.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
if(provider.contains("gps")){ //if gps is enabled
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.ctx.sendBroadcast(poke);
}
}