我有什么:目前我的应用通过gps提供位置。
我想要什么: Gps在我退出应用程序后自动关闭。因为它一直在告诉我一次又一次的位置看起来很奇怪,而且gps消耗了很多电池。
答案 0 :(得分:10)
查看上面的评论帖子似乎可以以编程方式关闭GPS(但只看到12个Upvotes)
但如果您以编程方式从应用程序关闭GPS,如果其他应用程序使用GPS服务会怎样?
解决方案 就像
打开android的Settings
,然后告诉用户退出应用程序时关闭GPS ...
为此你可以这样做:
Intent i = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(i);
或强>
您可以尝试
locationManager.removeUpdates(myLocationListener);
locationManager = null;
此应用关闭gps,但仍可供其他应用使用。
答案 1 :(得分:2)
此代码可以改变你的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);
答案 2 :(得分:2)
即使Rasel发布的链接包含一些可能有效的代码,您应该记住,代码正在利用已经修复的安全漏洞(http://code.google.com/p/android/issues/detail?id=7890),因此不应该在不久的将来工作了。
答案 3 :(得分:2)
如果您想以编程方式启用GPS,请将此代码复制并粘贴到项目中,其工作正常。
final Intent i = new Intent();
i.setClassName("com.android.settings","com.android.settings.widget.SettingsAppWidgetProvider");
i.addCategory(Intent.CATEGORY_ALTERNATIVE);
i.setData(Uri.parse("3"));
sendBroadcast(i); //if you are in broad cast receiver activity then use context.sendBroadcast(i)