0
こんにちは、私のonMenuItemClick内でActivityCompat.requestPermissionを呼び出して、WRITE_EXTERNAL_STORAGE権限を許可しています。ただし、ActivityCompat.requestPermissionsは実行されません。ActivityCompat.requestPermission onMenuItemClick内で呼び出されたときにダイアログが表示されない
私の目標は、私は私のマニフェスト
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="18"/>
で定義されており、ここで私は
case R.id.id_captura:
if (ContextCompat.checkSelfPermission(ChatActivity.this, android.Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
dispatchTakePictureIntent();
} else {
if (ActivityCompat.shouldShowRequestPermissionRationale(ChatActivity.this, android.Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
} else {
ActivityCompat.requestPermissions(ChatActivity.this,
new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE}, WRITE_EXTERNAL_STORAGE_CTE
);
}
}
break;
onMenuItemClick
の内側に電話し、ここで私のonRequestPermissionsResult である私のコードでいるAPI 23です
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
switch (requestCode) {
case WRITE_EXTERNAL_STORAGE_CTE: {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
dispatchTakePictureIntent();
} else {
AlertDialog.Builder alertDialog = new AlertDialog.Builder(this).setTitle("Permissions").setMessage("Permissions not granted ").setPositiveButton("Accept", null);
alertDialog.show();
}
return ;
}
}
}
Aditionally私は
private final int WRITE_EXTERNAL_STORAGE_CTE = 1;
これまでにクリックしたことがない場合は、ダイアログでもう一度質問しないでください:3? –