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



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

从 Q 迁移文档中摘录此声明

应用被视为处于后台状态,除非其 活动可见或应用正在运行前台服务。

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

嗯,这是一个有点棘手的问题。

在 Q 上运行位置前台服务时,需要"应用运行时"权限 + 才能在清单中声明此前台服务的类型为位置。你的应用不需要后台权限。

如果你的应用确实要求后台权限,用户可能会产生怀疑并拒绝任何位置权限:(因此,不建议向用户请求您不需要的权限。

强烈建议从Google IO观看此视频:在Android Q中更新您的应用程序以进行位置权限更改(Google I/O'19(

您可以在此处阅读有关t的更多信息: 文档化

您可以在GitHub上查看Google的示例项目,以获取具有前台服务的Q上的位置更新:位置更新前台服务

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

最新更新