1. 程式人生 > >Android java.io.FileNotFoundException: open failed: EACCES (Permission denied)

Android java.io.FileNotFoundException: open failed: EACCES (Permission denied)

    在讀寫Android SD卡時,出現這個錯誤的原因是因為沒有許可權。解決步驟如下:

  1. 確定你的App的AndroidManifest.xml檔案中寫有SD卡讀寫許可權,這是必須的:
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  2. 如果你的應用需要建立檔案或者目錄,還需要新增如下許可權:
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
  3. 確定你的手機的SD卡,可以讀,通過如下程式碼判斷:
    File sd = Environment.getExternalStorageDirectory();
    boolean can_write = sd.canWrite();
  4. 確定你的手機沒有連線到電腦,因為SD卡只能被手機訪問或者被電腦訪問,不能二者同時訪問。

參考資料: