Android M requestPermissions(ACCESS_COARSE_LOCATION),不显示对话框?

时间:2015-10-22 10:14:42

标签: android permissions runtime android-6.0-marshmallow

AndroidManifest.xml添加了它:

<uses-permission android:name="android.permisssion.ACCESS_COARSE_LOCATION"/>

ActivityCompat.requestPermissions()

int permissionCheck = ContextCompat.checkSelfPermission(this,
                Manifest.permission.ACCESS_COARSE_LOCATION);
if (!(permissionCheck == PackageManager.PERMISSION_GRANTED)) {

    // Should we show an explanation?
    if (ActivityCompat.shouldShowRequestPermissionRationale(this,
            Manifest.permission.ACCESS_COARSE_LOCATION)) {

    } else {
        // do request the permission
        ActivityCompat.requestPermissions(this,
                new String[]{Manifest.permission.ACCESS_COARSE_LOCATION},
                8);
    }
}

onRequestPermissionsResult()

@Override
public void onRequestPermissionsResult(int requestCode,
        String permissions[], int[] grantResults) {
    switch (requestCode) {
        case 8: {
            // grantResults[0] = -1
            if (grantResults.length > 0
                && grantResults[0] == PackageManager.PERMISSION_GRANTED) {

            } else {

            }
            return;
        }
    }
}

requestPermissions(ACCESS_COARSE_LOCATION)没有显示任何对话框,onRequestPermissionsResult返回-1。

相反requestPermissions(Manifest.permission.CAMERA)正常运作。

另一个问题Android M 6.0 - Manifest.permission.WRITE_SETTINGS Error

1 个答案:

答案 0 :(得分:3)

-f名称中有拼写错误,3 &#39;&#39;

的权限

从此改变:

uses-permission

到此:

<uses-permission android:name="android.permisssion.ACCESS_COARSE_LOCATION"/>