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
5
A
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" />
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? –