2015-01-08 35 views
1

我這是爲了讀取外部存儲的文件列表應用:Android的 - 讀取文件的列表失敗,因爲錯誤號= 13

<code> 
    File x = Environment.getExtrernalStorageDirectory(); 
    System.out.println(x.getAbsolutePath()); 
    File[] files = x.listFiles(); 
</code> 

作爲輸出我得到:

<code> 
    /storage/emulated/0 
    fail readDirectory() errno=13 
</code> 

我使用isExternalStorageWritable和isOternalStorageReadable從here,他們都返回true。

我的平板電腦沒有固定,但它處於開發人員模式。我應該首先設置目錄嗎?

也許對WRITE_EXTERNAL_STORAGE和READ_EXTERNAL_STORAGE的權限是不夠的?

當我使用Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) - ofc時,會發生同樣的事情。然後輸出包含/存儲/模擬/ 0 /下載

+0

您是否找到解決方案?我有一個類似的問題。 – Amber

回答

0

試試這個:

String root_sd_path = Environment.getExternalStorageDirectory().toString(); 
file = new File(root_sd_path + "/") ;  
File list[] = file.listFiles(); 
+0

這樣的文件不存在,我得到:失敗readDirectory()errno = 2 – Pawel

+0

你有你的清單上:? – Dyna

+0

是的,我已設置READ和WRITE權限,再加上isExternalStorageWritable和isExternalStorageReadable返回true。此外,在/ storage/extSdCard中的SD卡,並且它正在返回errno = 13。 – Pawel

0

我今天遇到了同樣的問題。問題出在我的清單文件中。我不小心將<uses-permissions>標籤放在<application>標籤內。

1

今天我有類似的問題。我注意到我的清單包含android:maxSdkVersion =「18」屬性。

例如: <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="18" />

已通過移除此解決。希望這可以幫助其他人..

0

我有這個問題,但在我的情況下,我沒有把權限代碼放在AndroidManifest.xml,當我這樣做,我的應用程序沒有任何錯誤運行。

相關問題