I am doing a new android app. I want to create a folder in "Android" folder which is available in sdcard. Before that I want to check whether the folder has read/write permission. How can I get that? can anyone help me to do this.
Asked
Active
Viewed 2.9k times
8
-
A folder cannot have read/write permissions. Its a folder. Users are the ones with read/write permissions to the folders. Is that what you're looking for? – Raghav Sood Feb 10 '13 at 12:33
2 Answers
19
You do it the old-school java way.
Create a file object and call canWrite()
and canRead()
.
File f = new File("path/to/dir/or/file");
if(f.canWrite()) {
// hell yeah :)
}

poitroae
- 21,129
- 10
- 63
- 81
6
To create a folder in Android folder the best way is:
File path = getExternalFilesDir();
It will be your own directory so if you have permission for this, you will be able to read/write it if the external storage is available. To check this use this code:
boolean mExternalStorageAvailable = false;
boolean mExternalStorageWriteable = false;
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
// We can read and write the media
mExternalStorageAvailable = mExternalStorageWriteable = true;
} else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
// We can only read the media
mExternalStorageAvailable = true;
mExternalStorageWriteable = false;
} else {
// Something else is wrong. It may be one of many other states, but all we need
// to know is we can neither read nor write
mExternalStorageAvailable = mExternalStorageWriteable = false;
}
Permissions required to write:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

EMarci15
- 303
- 1
- 7