解决方案:OruxMap与背景定位权限问题
最近有用户提出了一个问题,他发现仅有一款名为OruxMap的应用内可以设置“允许始终”选项(Allow Always)用于地理定位。而另一款应用Komoot和一款名为View Ranger的地理定位追踪应用则无法看到此选项。针对这个问题提供一份解决方案文章如下:
背景情况
用户在小米红米 Note 9 Pro 智能手机(运行 MIUI 12.0.1,Android 11)上安装了三款应用:OruxMap、Komoot 和 View Ranger。除了OruxMap之外,其余的应用并未提供“允许始终”这一选项。
解决方案
经过分析后发现,“允许始终” (Allow Always) 的权限选项(可通过应用程序设置查看)仅在程序请求其作为背景定位使用时才会出现在系统中。具体而言:只有通过访问 ACCESS_BACKGROUND_LOCATION
API 请求的地理定位信息,才会有此选项出现在用户界面上。
OruxMap 在被手机安装后,或许直接下载了应用发布版本,而 Komoot 和 View Ranger 则是从 Google Play Store 的标准渠道获取到该应用。不同应用在从 Google Play 下载前可能设置不同的后台定位权限,这也可能是导致两者显示内容差异的主要原因。
Komoot 和View Ranger 没有请求背景定位功能,因此用户看不到“允许始终”此选项。
如果一个应用程序没有主动向操作系统请求任何权限,默认来说也是无法通过系统界面对该程序进行额外的授权设置(比如授予不允许的功能),除非设备为Root状态,并且在一些特殊情况下,即便如此也不一定能够直接修改这些限制。
建议
查看应用版本:由于用户提到OruxMap的App与其它两个选项不同,请检查所有安装程序的来源和其具体版本。了解不同应用版本之间的差异可能会为找到解决方案提供更多线索。
寻找替代方案:在Google Play Store中继续搜索其他可以接受
ACCESS_BACKGROUND_LOCATION
的应用程序,或者选择官方声明支持该功能的应用以确保能够访问相关地理定位数据进行追踪操作。技术探索:对于有兴趣的用户来说,还可以通过查阅更多关于Android系统权限管理的文章或社区讨论来获取进一步的知识。例如可参考:https://android.stackexchange.com/a/217522/131553 以了解背景下的相关技术与设置。
经过上述分析发现,“允许始终”的选项在缺少相应的程序请求是无法显示的,只有通过适当的应用内编程来正确提出需求才能实现功能。希望这篇解决方案文章能够帮助到寻找替代方案或是进一步研究此问题的相关人士。