我们都知道Android上的GPS问题。
我们如何为NETWORK_PROVIDER创建相同的turnOnGps功能Bellow,我想打开两者。
private void turnGPSOn(){
String provider = Settings.Secure.getString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
if(!provider.contains("gps")){
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 :(得分:1)
只需添加CommonsWare提到的内容,该方法仅适用于2.2及以下的Android版本。
但是,您可以使用下面的简单代码:
startActivity(new Intent("android.settings.LOCATION_SOURCE_SETTINGS"));
这会将用户直接带到可以启用/禁用基于位置的选项的屏幕。
有关更多设置,请参阅here (docs)
希望这有帮助
答案 1 :(得分:0)
幸运的是,您在上面引用的脚本小子技术不适用于现代版本的Android。由于非常明显的隐私原因,您无法自行启用或禁用任何位置提供程序。请允许用户通过操作系统提供的机制(设置,Power Control应用程序小部件等)启用或禁用位置提供程序。