2013-02-10 4 views
5

Я делаю новое приложение для Android. Я хочу создать папку в папке «Android», которая доступна в sdcard. До этого я хочу проверить, имеет ли папка права на чтение/запись. Как я могу это получить? может ли кто-нибудь помочь мне сделать это.Разрешение на чтение и запись Android из папки

+0

Папка не может иметь права на чтение/запись. Его папка. Пользователи имеют права на чтение и запись в папки. Это то, что вы ищете? –

ответ

15

Вы делаете это в стиле старой школы. Создайте файл-объект и вызовите canWrite() и canRead().

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

Чтобы создать папку в Android папку лучший способ:

File path = getExternalFilesDir(); 

Это будет ваш собственный каталог, так что если у вас есть разрешение на это, вы будете иметь возможность читать/писать, если доступно внешнее хранилище. Чтобы проверить это, используйте этот код:

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

Права доступа, необходимые для записи:

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