2016-03-02 124 views
1

三星T230 (是Android 4.4.2)它工作在以下兩個'打開失敗:EACCES(拒絕)' 在Android

File firstFile = new File("mnt/extSdCard/Android/data/com.example.storagetest", "test.txt"); 
RandomAccessFile fileLittle = new RandomAccessFile(firstFile, "rw"); 

File scndFile = new File("mnt/extSdCard/Android/data/com.example.storagetest", "test2.txt"); 
scndFile.createNewFile(); 

我已經嘗試了很多這些設備正在以這種方式工作。 T230是一個例子

關於Hometech平板電腦(Android 5.1.1)不起作用。

File firstFile = new File("mnt/external_sd/Android/data/com.example.storagetest", "test.txt"); 
RandomAccessFile fileLittle = new RandomAccessFile(firstFile, "rw"); 

File scndFile = new File("mnt/external_sd/Android/data/com.example.storagetest", "test2.txt"); 
scndFile.createNewFile(); 

我得到一個錯誤如下:

打開失敗:EACCES(拒絕)

當前的AndroidManifest.xml

<application> 
... 
</application> 
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

我試過很多不同的方式... requestPermissions() and android:maxSdkVersion不會改變任何東西 太多的搜索,但我無法得出結論。

如何在SD卡上創建文件。

重要提示:我可以直接讀取文件,但不能更改或創建新文件。

回答

0

如何在SD卡上創建文件?

你不知道。 Android 4.4+以上的設備不允許任意訪問removable storage

您可以通過the Storage Access Framework間接使用可移動存儲。在那裏,您不必擔心用戶放置數據的位置(外部存儲,可移動存儲,Google Drive,Dropbox等)。

+0

它是否改變任何根訪問?我正在閱讀博客,我很快就會確認, – Abdullah

+0

@Abdullah:根訪問權應該允許您使用可移動媒體。此外,系統應用程序(至少是預先安裝的系統應用程序)可以由設備製造商授予可移動介質的權限(或者,可能是定製ROM開發人員)。但是,普通的SDK應用程序不能。如果您對這些問題感興趣,您可以考慮閱讀[Dave Smith的博客文章](https://possiblemobile.com/2014/03/android-external-storage/)瞭解如何實施的細節。 – CommonsWare

相關問題