【问题标题】:App only in foreground: How to avoid "Background location access not declared"仅在前台应用:如何避免“未声明后台位置访问”
【发布时间】:2021-05-04 16:31:03
【问题描述】:

我的应用只有在前台运行时才需要访问该位置。 目标是记录用户点击按钮时的 gps 位置。

该应用多年来一直运行良好,但由于“未声明后台位置访问”,该应用程序现在被 Play 商店拒绝 我的意图不是在后台使用位置。 所以我猜有问题,但我找不到问题。

在清单中,我设置了 ACCESS_FINE_LOCATION 但没有设置 ACCESS_BACKGROUND_LOCATION 我也试过<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" tools:node="remove" />,但是没有用。

我正在使用 LocationManager 类 在我的活动中:

  • 在创建时,我通过调用 getSystemService(Context.LOCATION_SERVICE) 获取位置服务
  • 在 onResume() 中,我调用 requestLocationUpdates(...)
  • 在 onPause() 中,我调用 removeUpdates(...)

我错过了什么?

【问题讨论】:

  • 请重新打开问题。引用的帖子(Android 10 (Q) ACCESS_BACKGROUND_LOCATION 权限)正好相反:它需要后台位置。就我而言,我只想要前台位置,但 Play 商店声称我在后台使用该位置

标签: android google-play location-services


【解决方案1】:

经过 1 周的努力找出问题所在,向 Google 支持发送消息(没有答案),在封闭的测试分支中发布我的代码的不同版本,再次填写政策表格等......问题本周末自行消失(无代码更改)。

【讨论】:

    【解决方案2】:

    我的一个应用程序基于后台位置,只需执行以下步骤即可获得谷歌的批准:

    • 第 1 步> 添加弹出窗口,解释为什么我们在后台获取用户位置
    • 第 2 步> 重要弹出窗口应出现在通知权限之前。
    • 第 3 步> 制作视频来解释您的用例为什么在后台获取位置很重要
    • 步骤 4> 弹出窗口最重要,确保视频具有详细的弹出窗口显示。
    • 第 5 步> 在 Play 控制台上分享视频链接
    • 第 6 步> 在 Play 控制台上添加您的用例的书面说明
    • 步骤 7> 在 Playstore 上添加最新的 apk 以供审核。

    【讨论】:

    • 您的弹出窗口是否显示过一次?我曾经在我的地图屏幕上请求许可,它每次都会检查它是理所当然的。如果已经被授予,即使已经被接受,我是否应该给出弹出窗口?
    • @Try2prog :在每次请求许可之前,都应该出现解释您的位置用例的弹出窗口。
    猜你喜欢
    • 2021-05-27
    • 2021-08-04
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    • 2017-09-02
    • 1970-01-01
    相关资源
    最近更新 更多