onRequestPermissionsResult会立即以拒绝权限返回 [英] onRequestPermissionsResult returns immediately with denied permission
问题描述
我的Android应用需要请求位置服务的权限.我这样做是:
My Android app needs to request permission for location services. I do this with:
ActivityCompat.requestPermissions(this, new String[]{
Manifest.permission.ACCESS_COARSE_LOCATION},
REQUEST_CODE_ACCESS_COARSE_LOCATION);
但是在调用此方法之后,onRequestPermissionsResult立即返回,但权限被拒绝:
But immediately after this is called, onRequestPermissionsResult returns immediately with permission denied:
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
switch (requestCode) {
case REQUEST_CODE_ACCESS_COARSE_LOCATION: {
}
}
}
该权限在清单中列出:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COURSE_LOCATION"/>
我还清除了缓存,以防止用户先前做出的任何拒绝都会影响到这一点.
I also cleared the cache to prevent any previous denial the user gave from affecting this.
我希望弹出一个对话框,要求用户授予或拒绝对位置服务的许可,但该对话框未显示.
I am expecting a dialog to pop up requesting the user to grant or deny permission to the location services but it isn't showing.
推荐答案
更改:
<uses-permission android:name="android.permission.ACCESS_COURSE_LOCATION"/>
收件人:
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
该权限适用于粗略"位置数据(即,不细粒度),而不适用于课程"位置数据(例如,正在举行某类大学课程的地方).
The permission is for "coarse" location data (i.e., not fine-grained), not "course" location data (e.g., where some university class is being held).
这篇关于onRequestPermissionsResult会立即以拒绝权限返回的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!