我正在处理我的应用程序代码以在Marshmallow设备中工作,我正在管理其权限对话框以显示在需要的位置.
目前在这种情况下,它需要两个权限(位置和存储),我想逐个询问Hangout的工作方式.无法找到它的定制方式,任何解决方案?
这是我为单一权限处理的代码:
case REQUEST_CODE_WRITE_EXTERNAL_STORAGE: {
if (checkSelfPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
/Permission is granted
Toast.makeText(this,"SDK >= 23 & permission Granted ",Toast.LENGTH_SHORT).show();
return true;
} else {
//Permission is revoked
ActivityCompat.requestPermissions(this,new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE},REQUEST_CODE_WRITE_EXTERNAL_STORAGE);
return false;
}
}
在onRequestPermissionsResult()中:
case REQUEST_CODE_WRITE_EXTERNAL_STORAGE: {
// If request is cancelled,the result arrays are empty.
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// permission was granted,yay! Do the
// contacts-related task you need to do.
Log.e("PMS","granted");
Toast.makeText(this,Toast.LENGTH_SHORT).show();
} else {
Log.e("PMS","Not Granted");
// permission denied,boo! Disable the
// functionality that depends on this permission.
int checkStatus = getPermissionStatus(Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (checkStatus == 3) {
Toast.makeText(this,"SDK >= 23 & permission Denied ",Toast.LENGTH_SHORT).show();
} else if (checkStatus == 4) {
Toast.makeText(this,"SDK >= 23 & permission Blocked ",Toast.LENGTH_SHORT).show();
}
}
return;
}
最佳答案