画像を保存しようとしたとき、私はギャラクシーJ5(アンドロイド6.0)に次のエラーを取得しています:はオープンに失敗しました:EACCES(パーミッション拒否)
java.io.FileNotFoundException: /storage/FA49-E5D3/DCIM/Camera/20170311_140435.jpg: open failed: EACCES (Permission denied)
私は、次の権限があります。
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
を活性の
:
if (Build.VERSION.SDK_INT >= 23) {
System.out.println("checking permissions...");
// -------------------------------------- PERMISOS CAMARA -------------------------------------------------
if (checkSelfPermission("android.permission.CAMERA") != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{"android.permission.CAMERA"}, 137);
return;
}
// ---------------------------------- PERMISOS READ EXTERNAL ---------------------------------------------
if (checkSelfPermission("android.permission.READ_EXTERNAL_STORAGE") != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{"android.permission.READ_EXTERNAL_STORAGE"}, 139);
return;
}
// ---------------------------------- PERMISOS WRITE EXTERNAL ---------------------------------------------
if (checkSelfPermission("android.permission.WRITE_EXTERNAL_STORAGE") != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{"android.permission.WRITE_EXTERNAL_STORAGE"}, 138);
return;
}
} else {
System.out.println("API < 23... Skip permissions...");
}
メモがこのパスで画像を保存するモトローラG3(アンドロイド6.0)で正常に動作していること:
/storage/emulated/0/DCIM/Camera/IMG_20170311_115623958.jpg
あなたはそのパスを取得していますか? – antlersoft
public String getOriginalImagePath(){ String [] projection = {MediaStore.Images.Media.DATA}; カーソルカーソル= this.managedQuery( MediaStore.Images.Media.EXTERNAL_CONTENT_URI、 投影、null、null、null); int column_index_data = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); cursor.moveToLast(); return cursor.getString(column_index_data); } – danielctf