Android 11后台位置权限“仅在使用应用程序时允许”不授予权限
Posted
技术标签:
【中文标题】Android 11后台位置权限“仅在使用应用程序时允许”不授予权限【英文标题】:Android 11 background location permission "Allow only while using the app" does not grant permission 【发布时间】:2021-05-25 00:31:31 【问题描述】:正如标题所说,我目前正在将我的应用程序更新到 SDK 30,并且遇到了ACCESS_BACKGROUND_LOCATION
权限的问题。请求权限后,用户将被带到应用位置权限设置并提供 4 个选项:
除“始终允许”以外的所有选项均不授予权限,并在 grantResults
回调函数中的 IntArray
中返回 -1
onRequestPermissionsResult()
。为什么?这令人难以置信的混乱。命名会让人相信权限会被授予,并且只有在应用程序处于焦点时才会发出后台权限请求。是否可以从选项中删除“仅在使用应用程序时允许”选项?我怎样才能解决这个问题??我只看到这些选择让用户感到困惑,因为不会授予权限除非他们选择“始终允许”。
【问题讨论】:
【参考方案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以上是关于Android 11后台位置权限“仅在使用应用程序时允许”不授予权限的主要内容,如果未能解决你的问题,请参考以下文章