«Отказано в доступе» при записи в context.getFilesDir () - PullRequest
2 голосов
/ 14 февраля 2012

Когда пользователь впервые открывает мое приложение, я записываю немного данных в локальный файл.

Я понимаю, что моему приложению требуется разрешение на запись в этот файл, поэтому я использую getFilesDir () вот так:

File ins = new File(context.getFilesDir(), "INSTALLATION");
// do some things
FileOutputStream out = FileOutputstream.new(ins);
out.write(data.toString().getBytes());
out.close();

Это работает в 99,9% случаев.Но я вижу небольшой поток исключений, говорящих, что у меня нет разрешения на создание этого файла.Например:

java.lang.RuntimeException: Unable to create application com.blah.blah.Blah
java.lang.RuntimeException: java.io.FileNotFoundException: /INSTALLATION (Permission denied)

Почему это происходит?Могу ли я обойти это? немедленный сбой * такой неприятный первый опыт работы с приложением.

1 Ответ

0 голосов
/ 14 февраля 2012

Дайте разрешение в манифесте Android

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

убедитесь, что вы указали правильный путь к файлу с расширением по мере получения

java.io.FileNotFoundException
...