2013-02-10 16 views
5

Robię nową aplikację na Androida. Chcę utworzyć folder w folderze "Android", który jest dostępny w sdcard. Wcześniej chcę sprawdzić, czy folder ma uprawnienia do odczytu/zapisu. Jak mogę to zdobyć? Czy ktoś może mi w tym pomóc?Uprawnienie do odczytu/zapisu Androida z folderu

+0

Folder nie może mieć uprawnienia do odczytu/zapisu. To jest folder. Użytkownicy to ci, którzy mają uprawnienia do odczytu/zapisu do folderów. Czy tego właśnie szukasz? –

Odpowiedz

15

Robisz to w starej szkole w stylu java. Utwórz obiekt pliku i zadzwoń pod numer canWrite() i canRead().

File f = new File("path/to/dir/or/file"); 
if(f.canWrite()) { 
    // hell yeah :) 
} 
6

Aby utworzyć folder w folderze Android najlepszym sposobem jest:

File path = getExternalFilesDir(); 

To będzie Twój własny katalog, więc jeśli masz pozwolenie na to, będzie można do odczytu/zapisu, jeśli pamięć zewnętrzna jest dostępna. Aby sprawdzić to użyć tego kodu:

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; 
} 

uprawnienia wymagane do pisania:

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