我想授予权限Manifest.permission.MANAGE_DOCUMENTS
,但是当我运行该应用程序时,应该会显示权限的对话框,但不会显示。这里是我的代码:如何授予权限Manifest.permission.MANAGE_DOCUMENTS android 6.0
int hasCameraPermission = ContextCompat.checkSelfPermission(MemoryDetail.this, Manifest.permission.MANAGE_DOCUMENTS);
if (hasCameraPermission != PackageManager.PERMISSION_GRANTED) {
if (!ActivityCompat.shouldShowRequestPermissionRationale(MemoryDetail.this, Manifest.permission.MANAGE_DOCUMENTS)) {
showDialogMessage("Need use permission: MANAGE_DOCUMENTS", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
requestPermissions(new String[] {Manifest.permission.MANAGE_DOCUMENTS}, Database.PICK_PICTURE);
}
}
});
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
requestPermissions(new String[]{Manifest.permission.MANAGE_DOCUMENTS}, Database.PICK_PICTURE);
}
return;
}
您是否检查过您是否可以执行需要该权限的任务?如果您已经拥有该权限,则不会出现对话框。 – curob
我已经在Manifest中声明了许可。如果我使用其他权限,例如:CAMERA,CONTACTS ...它工作得很好。如果我不使用此权限,则会显示以下错误:java.lang.SecurityException:Permission Denial:从ProcessRecord {87433d2 4941:com.devil.tetmemory/u0a86}(pid = 4941, uid = 10086)需要android.permission.MANAGE_DOCUMENTS或android.permission.MANAGE_DOCUMENTS。 – mytruong