我有一個應用程序要將文件寫入SD卡。外部SD卡權限被拒絕(JellyBean 4.2.2)
的路徑,SD卡是
到/ mnt/extsd
當我嘗試創建一個文件或使用mkdirs目錄()返回false。
我也越來越
打開失敗:EACCES(拒絕)
我已經安裝在我的平板電腦ES文件瀏覽器。它能夠將文件複製到SD卡。我不知道它是如何做的。
請幫忙!!提前致謝。
我有一個應用程序要將文件寫入SD卡。外部SD卡權限被拒絕(JellyBean 4.2.2)
的路徑,SD卡是
到/ mnt/extsd
當我嘗試創建一個文件或使用mkdirs目錄()返回false。
我也越來越
打開失敗:EACCES(拒絕)
我已經安裝在我的平板電腦ES文件瀏覽器。它能夠將文件複製到SD卡。我不知道它是如何做的。
請幫忙!!提前致謝。
編輯:
使用
String extsdPath = System.getenv("SECONDARY_STORAGE"); // will return you /mnt/extsd/
即使在此之後,
轉到終端在亞行外殼 打「ls -l命令的/ mnt /」命令,如果
d---rwxr-x system media_rw 1970-01-01 05:30 extsd
d---rwxr-x system sdcard_rw 1970-01-01 05:30 sdcard
如果它的media_rw組那麼你的應用程序沒有寫入「/ mnt/extsd /」的權限。該權限僅授予系統應用程序。這是Google報告的錯誤。
參考鏈接:google group post
這不是這裏的問題。 op在評論中說:「它返回了我的路徑」/ mnt/sdcard「」。所以返回的路徑是正確的 – Raghunandan
編輯答案。 – aditya
我已經提出了一個不推薦的解決方法 – Raghunandan
給燙髮到/ mnt/media_rw/external_SD:
mount -o remount,rw/
chmod 770 /mnt/media_rw/.
mount -o remount,ro/
問題是果凍豆
這個工作對我來說
String path = null;
if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT){
path = getCacheDir() + File.separator + "name";
} else{
path = Environment.getExternalStorageDirectory() + File.separator + "name";
}
您是否在清單f中添加了權限? ile – Raghunandan
是的,我也添加了權限 <使用權限android:name =「android.permission.WRITE_EXTERNAL_STORAGE」/> 它是在範圍之外。 當我做的Environment.getExternalStorageDirectory()它返回我的內部存儲器(非手機內存)「/ mnt/sdcard」的路徑 我想寫入外部SD卡 –
bhavindesai
其外部存儲。你不能做太多的事情。您的手機存儲器具有外部存儲器。返回的路徑是外部存儲的路徑。有一種解決方法,不建議使用 – Raghunandan