以编程方式切换GPS Android 4.4

时间:2014-04-05 22:18:18

标签: android gps root

我知道。不要这样做。我不在乎。它适用于root应用程序。

该应用已通过/system/app/权限

安装到0777

我之前使用过:

ContentResolver cr = context.getContentResolver();
Settings.Secure.setLocationProviderEnabled(cr, LocationManager.GPS_PROVIDER, !isGpsOn);

这就是我在4.4上尝试它的方式,因为它被弃用了:

int value;
if (isGpsOn)value = Settings.Secure.LOCATION_MODE_OFF;
        else value = Settings.Secure.LOCATION_MODE_HIGH_ACCURACY;
Settings.Secure.putInt(cr, Settings.Secure.LOCATION_MODE, value);

它正在默默地失败(根据一些用户报告)。如何从系统文件夹中的应用程序正确地使用Android 4.4切换GPS?

1 个答案:

答案 0 :(得分:4)

  

不要这样做。 :)

检查GPS TOGGLER

的代码
  

针对Android rooted设备的GPS切换小部件。即便如此,它也很好   那些ROM和内核,其他软件都失败了。

使用您的代码,只需检查:
希望您在清单中声明以下权限

<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>

我在root用户的LG Optimus,android 4.0 / 4.1上使用了它。 据说这可能不再适用,但我不确定所有设备和o.s。:

使用标志检查和此代码将其打开/关闭:

try {  
  Settings.Secure.putString (context.getContentResolver(),  
  Settings.Secure.LOCATION_PROVIDERS_ALLOWED, String.format ("%s,%s",  
  Settings.Secure.getString (context.getContentResolver(),  
  Settings.Secure.LOCATION_PROVIDERS_ALLOWED), LocationManager.GPS_PROVIDER));  
        } catch(Exception e) {}