IOException: В доступе отказано - PullRequest
0 голосов
/ 20 мая 2011

Я пытаюсь записать файл на внешнее хранилище андроида.В AndroidManifest.xml я добавил (в теге manifest)

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

, затем попытался:

File root = Environment.getExternalStorageDirectory();
File file = new File(root, xmlFilename);
file.createNewFile();

И затем я получил исключение.Как я могу решить эту проблему?

Ответы [ 3 ]

2 голосов
/ 20 мая 2011

Убедитесь, что ваша SD-карта не установлена ​​на вашем компьютере.Если вы включили USB-накопитель, ваша SD-карта станет доступной только для чтения для Android.

enter image description here

Кроме того, ваше приложение выглядит нормально и должно работать.


О, и я бы изменил ваш код следующим образом:

if(root.canWrite()){
    File file = new File(root, "file.xml");         
    file.createNewFile();
}
0 голосов
/ 20 мая 2011

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

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />.
0 голосов
/ 20 мая 2011

У вас есть права доступа, установленные в манифесте?

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

Вы также можете просто заменить «root» своим вызовом, чтобы получить каталог, а не объявлять его. Какое значение имеет xmlFilename?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...