我的 Android 应用程序需要请求位置服务许可。我这样做:
ActivityCompat.requestPermissions(this, new String[]{
Manifest.permission.ACCESS_COARSE_LOCATION},
REQUEST_CODE_ACCESS_COARSE_LOCATION);
但在调用此方法后,onRequestPermissionsResult 会立即返回,但权限被拒绝:
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
switch (requestCode) {
case REQUEST_CODE_ACCESS_COARSE_LOCATION: {
}
}
}
权限在 list 中列出:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COURSE_LOCATION"/>
我还清除了缓存,以防止用户之前的任何拒绝影响这一点。
我期待弹出一个对话框,请求用户授予或拒绝对定位服务的权限,但它没有显示。
最佳答案
改变:
<uses-permission android:name="android.permission.ACCESS_COURSE_LOCATION"/>
到:
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
该权限适用于“粗略”位置数据(即,非细粒度),而不适用于“类(class)”位置数据(例如,举办某些大学类(class)的地点)。
关于android - onRequestPermissionsResult 立即返回拒绝权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35633110/