2013-02-10 19 views
5

Sto facendo una nuova app per Android. Voglio creare una cartella nella cartella "Android" che è disponibile in sdcard. Prima di ciò voglio verificare se la cartella ha il permesso di lettura/scrittura. Come posso averlo? qualcuno può aiutarmi a fare questo.Permesso di lettura/scrittura Android di una cartella

+0

Una cartella non può aver autorizzazioni di lettura/scrittura. È una cartella. Gli utenti sono quelli con autorizzazioni di lettura/scrittura per le cartelle. E 'quello che stai cercando? –

risposta

15

Si fa il vecchio modo java della scuola. Creare un oggetto file e chiamare canWrite() e canRead().

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

Per creare una cartella nella cartella di Android il modo migliore è:

File path = getExternalFilesDir(); 

Sarà una propria directory quindi se hai il permesso per questo, si sarà in grado di leggere/scrivere se la memoria esterna è disponibile. Per controllare questo uso di questo codice:

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

autorizzazioni necessarie per scrivere:

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