2017-03-11 93 views
1

我得到的銀河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工作正常(在Android 6.0)保存圖像此路徑:

/storage/emulated/0/DCIM/Camera/IMG_20170311_115623958.jpg 
+0

顯示你是否在尋找那條路? – antlersoft

+0

public String getOriginalImagePath(){ String [] projection = {MediaStore.Images.Media.DATA}; Cursor cursor = this.managedQuery( MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection,null,null,null); int column_index_data = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); cursor.moveToLast(); return cursor.getString(column_index_data); } – danielctf

回答

2

您正在嘗試在微型SD卡上寫入文件。但是他們現在只能讀取應用程序。只有系統相機應用程序纔有權寫入SD上的DCIM文件夾。

查看getExternalFilesDirs()返回的第二個項目。您的應用程序可以在SD卡上的該應用程序特定目錄中編寫。

+0

它的工作原理。謝謝。 – danielctf

相關問題