Spe*_*ake 7 android android-permissions
正如标题所示,我目前正在将我的应用程序更新到 SDK 30,但在ACCESS_BACKGROUND_LOCATION权限方面遇到问题。请求权限后,用户将进入应用程序位置权限设置,并获得 4 个选项:
除“始终允许”之外的所有选择都不会授予权限并-1在回调函数grantResults IntArray内部返回 a onRequestPermissionsResult()。为什么?这非常令人困惑。该命名会让人们相信该权限将被授予,并且只有当应用程序处于焦点时才会发出后台权限请求。是否可以从选项中删除“仅在使用应用程序时允许”选项?我怎样才能解决这个问题??我只看到这些选择让用户感到困惑,因为除非他们选择“始终允许”,否则不会授予权限。
后台位置权限不像其他权限那样工作。这是将位置权限从仅限前台提升到前台和后台的请求。
用户必须有意识地选择“始终允许”才能执行此操作并授予后台位置权限。否则该许可将被视为被拒绝。
您甚至无法请求后台位置,除非已经授予前台位置 - 当系统权限活动显示时,它应该已经选择了选项 2 或 3。
请参阅https://developer.android.com/training/location/permissions#request-background-location