java - 在所有 Android 版本中以编程方式打开和关闭 GPS

标签 java android gps

我正在开发一个基于位置的应用程序。我想通过代码打开/关闭 GPS。我从此[链接]找到了解决方案:Turning on and off GPS programmatically in android 4.0 and above?但是当我运行这部分时应用程序崩溃了。 请指导我正确的解决方案。

最佳答案

I want to turn on/off GPS through code

有“启用/禁用”,还有“开/关”。 “启用/禁用”确定任何应用程序是否可以获得 GPS 修复。 “开/关”确定设备当前是否正在尝试获取 GPS 定位。 GPS 仅在“启用”时才能“打开”。

如果您向 GPS_PROVIDER 请求位置,并且 GPS 已启用,则 GPS radio 将会打开。如果您停止向 GPS_PROVIDER 请求位置,并且没有其他应用向 GPS_PROVIDER 请求位置,则 GPS radio 将会关闭。根据您配置位置请求的方式(例如,每小时一次),即使您的请求尚未完成,GPS radio 也可能会关闭和打开以节省电池生命周期。因此,Android 开发人员不必太担心“开/关”——开发人员只需请求位置,硬件就会根据需要负责打开和关闭 GPS radio 。

您的链接实际上指的是“启用/禁用”。出于隐私原因,Android 在 Android 1.5 中取消了应用程序启用和禁用 GPS 的功能。恶意软件作者继续尝试寻找解决此问题的方法,因为恶意软件作者对用户隐私不感兴趣。您引用的链接是针对 Android 中一个缺陷的利用,该缺陷允许应用程序启用和禁用 GPS。该漏洞多年前就已修复。我不知道当前是否存在允许应用启用和禁用 GPS 的漏洞。

关于java - 在所有 Android 版本中以编程方式打开和关闭 GPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35271876/

相关文章:

java - Eclipse插件: Link MulitPageEditorPart with Navigator

java - 如何通过J2ME连接sqlserver2000创建数据库?

java - 如何检索内部存储器中的每个文件?

android - 防止 Activity 在按下后退按钮时被破坏

android - GPS 联系人位置

android - Google Fit 应用程序如何在不耗尽电池电量的情况下一直测量步数?

android - 如何在android中实时获取给定位置和当前位置之间的距离

java - Jackson:如何为包含子对象作为字段的多个对象包含子对象的不同属性

Android Build - 在编译时选择应用名称和图标

java - Android webview摄像头和麦克风权限已授予但无法访问