【问题标题】:Location in Foreground service with Background permission VS in app only permissions Android Q在前台服务中的位置,具有后台权限 VS 仅在应用程序中权限 Android Q
【发布时间】:2019-12-14 02:09:17
【问题描述】:

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

从 Q 迁移文档中得出此声明

一个应用被认为是在后台,除非它的一个 活动可见或应用正在运行前台服务。

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

【问题讨论】:

    标签: android android-location


    【解决方案1】:

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

    在 Q 上运行位置前台服务时,您需要“在应用程序运行时”权限 + 在清单中声明此前台服务属于位置类型。您的应用不需要后台权限。

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

    强烈推荐观看来自 google IO 的视频:Updating Your Apps for Location Permission Changes in Android Q (Google I/O'19)

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

    您可以在 GitHub 上查看 google 示例项目,以在此处使用前台服务在 Q 上进行位置更新:LocationUpdatesForegroundService

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      猜你喜欢
      • 2021-06-11
      • 2021-05-25
      • 1970-01-01
      • 2017-09-20
      • 2021-02-08
      • 2021-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多