【问题标题】:Android 11 background location permission "Allow only while using the app" does not grant permissionAndroid 11后台位置权限“仅在使用应用程序时允许”不授予权限
【发布时间】:2021-05-25 00:31:31
【问题描述】:

正如标题所说,我目前正在将我的应用程序更新到 SDK 30,并且遇到了ACCESS_BACKGROUND_LOCATION 权限的问题。请求权限后,用户将被带到应用位置权限设置并提供 4 个选项:

  • 始终允许
  • 仅在使用应用时允许
  • 每次询问
  • 拒绝

除“始终允许”以外的所有选项均不授予权限,并在 grantResults 回调函数中的 IntArray 中返回 -1 onRequestPermissionsResult()。为什么?这令人难以置信的混乱。命名会让人相信权限会被授予,并且只有在应用程序处于焦点时才会发出后台权限请求。是否可以从选项中删除“仅在使用应用程序时允许”选项?我怎样才能解决这个问题??我只看到这些选择让用户感到困惑,因为不会授予权限除非他们选择“始终允许”

【问题讨论】:

    标签: android android-permissions


    【解决方案1】:

    后台位置权限不像其他权限那样工作。这是一个将位置权限从仅前台提升到前台和后台的请求。

    用户必须有意识地选择“始终允许”才能执行此操作并授予后台位置权限。否则,该权限将被视为被拒绝。

    除非已授予前台位置,否则您甚至无法请求后台位置 - 当系统权限活动显示时,它应该已经选择了选项 2 或 3。

    https://developer.android.com/training/location/permissions#request-background-location

    【讨论】:

    • 另外请注意,提交到 Playstore 请求 ACCESS_BACKGROUND_LOCATION 的新应用程序要求您填写权限声明表,其中包括必须显示您的应用程序的视频证据,明确告诉用户您需要权限的原因以及解释你的特点。 support.google.com/googleplay/android-developer/answer/9799150
    猜你喜欢
    • 2021-01-22
    • 2023-04-08
    • 2021-03-18
    • 2012-04-29
    • 1970-01-01
    • 2012-03-23
    • 2020-05-09
    • 1970-01-01
    相关资源
    最近更新 更多