我正在验证我的位置服务与Android Q的兼容性,但我有点不确定我的应用程序将如何反应,因为在我的测试中,我在授予后台权限时与仅在应用程序运行时没有看到区别。
从 Q 迁移文档中摘录此声明
应用被视为处于后台状态,除非其 活动可见或应用正在运行前台服务。
由于位置服务是前台服务,在这种情况下,权限的差异是否重要?
在 Q 上运行位置前台服务时,需要"应用运行时"权限 + 才能在清单中声明此前台服务的类型为位置。你的应用不需要后台权限。
如果你的应用确实要求后台权限,用户可能会产生怀疑并拒绝任何位置权限:(因此,不建议向用户请求您不需要的权限。
强烈建议从Google IO观看此视频:在Android Q中更新您的应用程序以进行位置权限更改(Google I/O'19(
您可以在此处阅读有关t的更多信息: 文档化
您可以在GitHub上查看Google的示例项目,以获取具有前台服务的Q上的位置更新:位置更新前台服务
您只需要运行前台服务而不是后台。否则,当前台没有活动时,应用将在后台服务启动期间崩溃