Abdullah
Abdullah

Reputation: 637

'open failed: EACCES (Permission denied)' on Android

On Samsung T230 (Android 4.4.2) It works in both of the following

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();

I've tried a lot of these devices are working in this way. T230 is an example

On Hometech Tablet (Android 5.1.1) does not work.

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();

I get an error as follows:

open failed: EACCES (Permission denied)

Current AndroidManifest.xml

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

I tried many different ways... requestPermissions() and android:maxSdkVersion does not change anything Too much search but I could not reach a conclusion.

How can i create a file on SD Card.

Important: I can read files directly, but cant change or create new file.

Upvotes: 1

Views: 1529

Answers (1)

CommonsWare
CommonsWare

Reputation: 1006924

How can i create a file on SD Card.

You don't. Devices that ship with Android 4.4+ do not allow arbitrary access to removable storage.

You can indirectly work with removable storage via the Storage Access Framework. There, you do not worry about exactly where the user is putting the data (external storage, removable storage, Google Drive, Dropbox, etc.).

Upvotes: 0

Related Questions