#android #file #storage #permission-denied
#Android #файл #Хранение #в разрешении отказано
Вопрос:
Я разрабатываю приложение для Android.
Я храню файлы во внутреннем хранилище с помощью метода :
getDir("myfolder", Context.MODE_WORLD_READABLE)
Затем я создаю файл :
File myFile = new File("myFile");
myFile.createNewFile();
Но когда я просматриваю свое внутреннее хранилище (с помощью «File Explorer» или «ADB») Я вижу, что «myFile» создан, но у него нет тех же прав, что и у «MyFolder»:
drwxrwxr-x app_88 app_88 2011-11-10 15:39 myFolder
-rw------- app_88 app_88 0 2011-11-10 15:39 myFile
В File API я вижу метод «setReadable», который может устанавливать права чтения для меня и всего мира, но этот метод предназначен только для API 9-го уровня, а я разрабатываю для API 7-го уровня и более.
Здесь это проблема, потому что у меня нет разрешения на чтение файла «myFile» благодаря ADB или File Explorer. Я получаю сообщение об ошибке «Отказано в разрешении», и я не хочу «рутировать» свое устройство из-за рисков.
Любая помощь?
Ответ №1:
Я думаю, вы можете сделать то же самое с файлом: http://developer.android.com/reference/android/content/Context.html#openFileOutput(java.lang .Строка, int) (доступна с уровня API 1)
HTH
Комментарии:
1. Обратите внимание, что файл хранится в
files
подкаталоге вашего приложения; тот же каталог, возвращаемыйcontext.getFilesDir()
.