Как добавить разрешение на запись в файл на Android

Я хочу записать в файл, используя следующее:

  BufferedWriter buf = new BufferedWriter (new FileWriter ("test2"));  buf.write (mytext);  buf.close ();  

но я получил это сообщение (файл test2 только для чтения)

Как можно я получаю разрешение на запись?


У вас есть это в вашем файле AndroidManifest.xml?

    

Кроме того, по этой ссылке есть все, что вам нужно знать о чтении и записи файлов:

http://www.anddev.org/working_with_files-t115.html


10

Этот вопрос довольно старый, но я все равно собираюсь написать этот ответ, так как это лучший результат при поиске «разрешения на запись файла в android»

NotACleverMan answer является допустимым, но с момента выпуска MarshMallow пользователей необходимо попросить предоставить разрешение вручную. Следовательно, пользователю должен быть представлен диалог, в котором он может явно отказать или предоставить разрешение на использование некоторых функций.

Взято из документации разработчика Android

Начиная с Android 6.0 (уровень API 23), пользователи предоставляют разрешения приложениям во время работы приложения, а не при его установке. Такой подход упрощает процесс установки приложения, поскольку пользователю не нужно предоставлять разрешения при установке или обновлении приложения. Это также дает пользователю больше контроля над функциональностью приложения; например, пользователь может предоставить приложению камеры доступ к камере, но не к местоположению устройства. Пользователь может отозвать разрешения в любое время, перейдя на экран настроек приложения.

Итак, сначала вы должны включить это в свой файл манифеста

    

После этого вы должны запросить разрешение у пользователя, когда вам нужно доступ к указанному ресурсу

  ActivityCompat.requestPermissions (thisActivity, new String [] {Manifest.permission.WRITE_STORAGE}, YOUR_PERMISSION_STATIC_CODE_IDENTIFIER);  

Для получения дополнительных сведений о реализации обратитесь к этому

Поделиться
Улучшите этот ответ
ответил 12 февраля ’18 в 17:14
  • Обязательный ответ — Нагабхушан С.Н. 9 июня ’19 в 17:54
добавить комментарий |

Этот вопрос довольно старый, но Я собираюсь написать этот ответ в любом случае, так как это лучший результат при поиске «разрешения на запись файла в android»

Ответ NotACleverMan действителен, но с момента выпуска MarshMallow пользователей необходимо попросить предоставить разрешение вручную. Поэтому пользователю должен быть представлен диалог, в котором он может явно отказать или предоставить разрешение на использование некоторых функций.

Взято из документации разработчика Android

Начиная с Android 6.0 (уровень API 23), пользователи предоставляют разрешения приложениям во время работы приложения, а не при его установке. Такой подход упрощает процесс установки приложения, так как пользователю не нужно предоставить разрешения, когда они устанавливают или обновляют приложение. Это также дает пользователю больше контроля над функциональностью приложения; например, пользователь может предоставить приложению камеры доступ к камере, но не к местоположению устройства. Пользователь может отозвать разрешения в любое время, перейдя на экран настроек приложения.

Итак, сначала вы должны включить это в свой файл манифеста

    

После этого вы должны запросить разрешение у пользователя, когда вам нужно доступ к указанному ресурсу

  ActivityCompat.requestPermissions (thisActivity, new String [] {Manifest.permission.WRITE_STORAGE}, YOUR_PERMISSION_STATIC_CODE_IDENTIFIER);  

Для получения дополнительных сведений о реализации обратитесь к этому


3
  byte [] data;  

присвоить значение imagebyte переменной данных

 //Запись  в SD CardFileOutputStream outStream = new FileOutputStream (String.format ("/sdcard/piyush.jpg", System.currentTimeMillis ()));  outStream.write (данные);  outStream.close ();  

Дайте разрешение на запись для открытия файла AndroidManifest.xml и поместите этот код

Поделиться
Улучшить этот ответ
отредактировано 01 апреля 2013 в 21:24
gkiko
2,26533 золотых знака2626 серебряных знаков4747 бронзовых знаков
ответил 28 апр. ’11 в 14:32
  • Кажется, этот ответ неполный. Я думаю, что должно быть добавлено под строкой «и поместите этот код». — zaplec 24 апр. ’12 в 8:27
добавить комментарий |

  byte [] data;  

присвоить значение imagebyte переменной данных

 //Запись в SD CardFileOutputStream outStream = new FileOutputStream (String.format ("/sdcard/piyush  .jpg ", System.currentTimeMillis ())); outStream.write (data); outStream.close ();  

Дать разрешение на записьOpen A ndroidManifest.xml и поместите этот код

Оцените статью
Botgadget.ru
Добавить комментарий