android - 如何让我的 Android 应用符合“后台位置政策”
问题描述
我目前在使我的应用程序符合新的“谷歌后台位置政策”方面遇到了一些麻烦。这是我的情况:
- 我的应用程序针对 Android Api 22 及更高版本
- 我的应用程序需要以下权限:ACCESS_FINE_LOCATION
- 我需要此权限才能在应用程序处于前台时在地图中显示用户位置并使用蓝牙低功耗
- 当应用程序处于后台时,我不获取位置
我不明白如何设置 Google Play 控制台。我能看到的唯一案例如下:
- 我的应用程序使用位置,并且从 API 29 开始可用,但不需要 ACCESS_BACKGROUND_LOCATION 权限。
- 我的应用程序不使用 Location 并且没有任何 *_LOCATION 权限。
我错过了以下情况:
- 我的应用程序从 API 22 开始可用,所以我没有 ACCESS_BACKGROUND_LOCATION 权限。但我的应用需要前台位置权限并使用蓝牙,所以我需要 ACCESS_FINE_LOCATION 权限。我从不在后台请求位置。
我猜该应用程序已经遵守“后台位置策略”,因为该应用程序只获取前台位置。但是,由于此政策,我的应用程序更新总是被拒绝,所以我有点困惑。
为什么我的应用程序不符合要求?
- 仅仅是因为我的应用程序中存在 ACCESS_FINE_LOCATION 权限,并且默认情况下谷歌假设应用程序请求位置在后台吗?
- 我是否需要将我的应用程序限制为 Android 9 及更早版本,以免卡在 ACCESS_BACKGROUND_LOCATION 权限的自动归属中?
- 我是否需要在 Google 控制台中填写后台位置许可表并说明我不会在后台访问位置?
- 还有什么?
感谢您对此的反馈。
解决方案
尝试提交并说你不使用后台(声明前台使用)
推荐阅读
- java - 如何避免嵌套的空检查
- neo4j - Neo4j 中的朋友关系建模
- javascript - 使用带有活动类的 js 切换选项卡
- unix - 当我执行 isql 连接语句时没有任何反应
- django - Django 认证用户在视图中不活跃
- java - 如何注入具有其他自动连接依赖项的依赖项?
- java - HttpAsyncClient 每秒不能向特定 ROUTE(host) 发送许多请求
- c# - 使用 EnvDTE 在 VS Windows 窗体设计器中设置按钮属性?
- redis - RedisConnectionException:没有可用于服务此操作的连接:EVAL
- python - 根据变量的值在列表内创建列表