如何使我的 Android 应用符合“后台位置政策”

Posted

技术标签:

【中文标题】如何使我的 Android 应用符合“后台位置政策”【英文标题】:How to make my Android app comply with the "Background Location Policy" 【发布时间】:2021-03-28 06:11:42 【问题描述】:

我目前在使我的应用程序符合新的“Google 后台位置政策”方面遇到了一些麻烦。 这是我的情况:

我的应用程序面向 android Api 22 及更高版本 我的应用程序需要以下权限:ACCESS_FINE_LOCATION 我需要此权限才能在应用处于前台时在地图中显示用户位置并使用低功耗蓝牙 当应用处于后台时,我不获取位置

我不明白如何设置 Google Play 管理中心。 我能看到的唯一案例如下:

我的应用程序使用位置并且从 API 29 开始可用,但不需要 ACCESS_BACKGROUND_LOCATION 权限。 我的应用程序没有使用位置信息,也没有任何 *_LOCATION 权限。

我错过了以下情况:

我的应用程序从 API 22 开始可用,所以我没有 ACCESS_BACKGROUND_LOCATION 权限。但我的应用需要前台位置权限并使用蓝牙,所以我需要 ACCESS_FINE_LOCATION 权限。我从不在后台请求位置。

我猜该应用程序已经遵守“后台位置策略”,因为该应用程序只获取前台位置。 但是由于这个政策,我的应用更新总是被拒绝,所以我有点困惑。


为什么我的应用不符合要求?

是否仅仅是因为我的应用程序中存在 ACCESS_FINE_LOCATION 权限,并且默认情况下 Google 假定应用程序在后台请求位置? 我是否需要将我的应用限制为 Android 9 及更早版本,以免卡在 ACCESS_BACKGROUND_LOCATION 权限的自动归属中? 我是否需要在 Google 控制台中填写“后台位置许可”表单并说明我不会在后台访问位置? 还有别的吗?

感谢您对此的反馈。

【问题讨论】:

我有同样的问题。如果您有任何解决方案,请告诉我。 你有没有想过这个问题? 对我来说同样的问题。如果有人有解决方案,请分享。 我仍然遇到这个问题。但是,几天前我推送了另一个基于完全相同源代码的应用程序。我完全没有问题。所以这是一种随机的。我尝试联系 Google 政策团队 20 次(真的),但没有成功.... 同样的问题。谷歌支持没有帮助(只是再次发送邮件内容)。如果有人有解决方案,请分享 【参考方案1】:

尝试提交并说你不使用后台(声明前台使用)

【讨论】:

实际上没有办法做到这一点。我只能说该应用不使用背景位置,或者我需要解释我的应用使用背景位置的原因和位置,并添加视频来演示用例。【参考方案2】:

您可能正在请求一项服务(甚至是前台服务)的位置更新 这是一种来自谷歌的自动扫描。 您的应用定位于 API 29 以下,使用 ACCESS_FINE_LOCATION 权限 与目标 API 29 及更高版本相同,并使用 ACCESS_BACKGROUND_LOCATION

【讨论】:

就我而言,该应用程序的目标是 API 29,我没有任何服务。但谷歌声称我在后台使用位置。 它是否具有 ACCESS_BACKGROUND_LOCATION 权限或在第一个 apk 上具有此权限,因为它会自动扫描。即使您删除了该权限,它仍然认为您的应用使用后台位置 我刚刚检查过了。我从未在我的任何 apk 中使用过 ACCESS_BACKGROUND_LOCATION。 您是否使用 ACCESS_FINE_LOCATION 权限将您以前的 29 以下 apk 定位?因为它会被视为与目标 29 相同并且具有 ACCESS_BACKGROUND_LOCATION。 是的,我以前的 apk 版本针对 api 29 以下,具有 ACCESS_FINE_LOCATION 权限。你知道现在可以做什么吗?我还没有看到从 Play 商店控制台中删除这些旧 apk 的方法。【参考方案3】:

在我的例子中,Google 需要一个视频来显示在请求运行时许可之前正在显示突出的披露。视频需要上传到 YouTube 并包含在 Google Play 控制台中的应用内容-> 许可声明表-> 视频说明下。您还需要说明触发后台位置权限请求的原因。

【讨论】:

对我来说还不够。可能是因为我真的不需要后台许可。我也加了披露,也推了一个视频,但还是时不时被拒绝。幸运的是,在我看来,Google 政策更新似乎是一个湿鞭炮。大多数时候可以绕过拒绝。

以上是关于如何使我的 Android 应用符合“后台位置政策”的主要内容,如果未能解决你的问题,请参考以下文章

如何通过覆盖 BackButton 使我的 PhoneGap android 应用程序 onPause?

如何在android中使我的应用程序设备管理员?

如何使我的 Android Swipeable CardView 更像 IOS 7 邮件应用程序(滑动以显示按钮)

如何使我的应用程序对所有设备可见?

如何使我的自定义 ViewModifier 仅适用于 SwiftUI 中符合(可识别和视图)的内容/视图?

QRCodeReaderView 库使我的 android 应用程序崩溃