Android создает файл во внутренней памяти с правом чтения во всем мире

Разрабатываю приложение для Android.

Я храню файлы во внутренней памяти с помощью метода:

getDir("myfolder", Context.MODE_WORLD_READABLE)

Затем я создаю файл:

File myFile = new File("myFile");
myFile.createNewFile();

Но когда я исследую свое внутреннее хранилище (с помощью «Проводника файлов» или «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. Я получаю сообщение об ошибке «Отказано в доступе», и я не хочу «рутировать» свое устройство из-за рисков.

Любая помощь ?


person TheFrancisOne    schedule 10.11.2011    source источник


Ответы (1)


Я думаю, вы можете сделать то же самое с файлом: http://developer.android.com/reference/android/content/Context.html#openFileOutput%28java.lang.String,%20int%29 (доступно, начиная с уровня API 1)

ХТН

person Daniele    schedule 10.11.2011
comment
Обратите внимание, что файл хранится в подкаталоге files вашего приложения; тот же каталог, возвращенный context.getFilesDir(). - person Paul Lammertsma; 27.03.2013