我正在开发一个基于位置的应用程序。我想通过代码打开/关闭 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/