具有背景权限VS的前景服务中的位置VS仅在应用程序中具有权限Android Q

时间:2019-08-06 13:41:49

标签: android android-location

我正在验证我的位置服务与Android Q的兼容性,但是我有点不确定我的应用程序将如何反应,因为在测试中,我发现授予后台权限与仅在应用程序运行时没有区别。

从Q迁移文档中删除此声明

  

除非其中一个应用程序被认为处于后台,   活动可见或该应用程序正在运行前台服务。

由于位置服务是前台服务,因此在这种情况下权限差异是否重要?

2 个答案:

答案 0 :(得分:3)

这是一个棘手的问题。

在Q上运行位置前台服务时,您需要“应用运行时”权限+,以在清单中声明此前台服务的类型为location。您的应用无需后台许可。

如果您的应用确实要求后台许可,则用户可能会变得可疑并拒绝任何位置许可:(因此,建议您不要向用户询问不需要的许可。

强烈建议您通过Google IO观看此视频:Updating Your Apps for Location Permission Changes in Android Q (Google I/O'19)

您可以在此处了解有关t的更多信息:documantation

您可以在GitHub上查看googles示例项目,以在Q上使用前台服务更新Q:LocationUpdatesForegroundService

答案 1 :(得分:2)

您只需要运行前台服务而不是后台即可。否则,前台没有任何活动时,您的应用将在后台服务启动期间崩溃