Доступ к подкаталогу во внутреннем хранилище приложения Android для целей записи - PullRequest
0 голосов
/ 25 июня 2018

Я создал подкаталог images во внутреннем хранилище моего приложения.Следовательно, полный путь:

/data/data/{app_namespace}/images

Теперь я успешно создал uri /data/data/{app_namespace}/images/enh.jpeg для хранения изображений.

Однако, когда я хочу открытьфайл для записи Я сталкиваюсь с двумя проблемами в двух подходах, которые я использовал соответственно:

  1. FileOutputStream out = new FileOutputStream( uri_path): ENOENT Нет такого файла или директивы.
  2. FileOutputStream out = context.openFileOutput(uri_path, Context.MODE_PRIVATE): Файл содержит разделитель пути.

Я хочу понять, как я могу открыть /data/data/{app_namespace}/images/enh.jpeg для записи?Есть ли другой способ, о котором я не знаю?

1 Ответ

0 голосов
/ 26 июня 2018

Я нашел проблему.На самом деле, я создавал переменную uri_path следующим образом

uri_path = uri.getPath()

Это только возвращает /images/enh.jpeg, потому что предыдущая часть закодирована в поле authority uri.В Интернете есть несколько решений о том, как извлечь абсолютный путь из Uri, который я здесь опущу для краткости.

...