AndroidManifest.xml has add it:
<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)
doesn't show any dialog, and onRequestPermissionsResult
return -1.
Instead requestPermissions(Manifest.permission.CAMERA)
is working correctly.
another question:Android M 6.0 - Manifest.permission.WRITE_SETTINGS Error