android编程在Android 4.0及更高版本中打开和关闭GPS

时间:2014-10-11 12:54:52

标签: android gps

我想在一个活动中打开和关闭gps本地化,尝试每个其他主题消息,这是行不通的。 这不是重复主题我看起来所有其他

示例:

清单:

  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  <uses-permission android:name="android.Manifest.permission.ACCESS_FINE_LOCATION" />
  <uses-permission android:name="android.Manifest.permission.ACCESS_COARSE_LOCATION" />

的活动:

public void turnGPSOn()
 {
 Intent intent = new Intent("android.location.GPS_ENABLED_CHANGE");
 intent.putExtra("enabled", true);
 this.ctx.sendBroadcast(intent);

String provider = Settings.Secure.getString(activityname.this.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")); 
    activityname.this.sendBroadcast(poke);


}
 }
 // automatic turn off the gps
  public void turnGPSOff()
  {
String provider = Settings.Secure.getString(activityname.this.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")); 
    activityname.this.sendBroadcast(poke);
  }
 }

当我尝试我的应用程序停止(崩溃)

来源:Turning on and off GPS programmatically in android 4.0 and above?

我没有显示对话框(选择开放本地化)我需要以编程方式完成所有操作(hiden)

请帮帮我。谢谢。

1 个答案:

答案 0 :(得分:0)

这是不可能的,出于明显的隐私原因,除了通过root。您试图利用的安全漏洞已经关闭了很长时间。