Android, как настроить путь поставщика для двойного хранилища приложенийAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Android, как настроить путь поставщика для двойного хранилища приложений

Сообщение Anonymous »

Environment.getExternalStorageDirectory().getAbsolutePath() предоставляет мне внешнее хранилище. Но я только что заметил, что двойные приложения (вы можете клонировать приложения, например, на Xiaomi) имеют свой собственный путь к внешнему хранилищу. Как это сделать программно? Я поискал и обнаружил, что на моем телефоне это «/storage/emulated/0» для обычных приложений и «/storage/emulated/999» для клонированных приложений. Я полагаю, что другие производители устройств используют разные пути, и я не могу это жестко запрограммировать, верно?
Я прочитал файлы, сохраненные клонированным приложением, из папки «/storage/emulated». /999/Pictures/9GAG/", в моем приложении показаны все 14 файлов, но когда я пытаюсь поделиться ими или скопировать в буфер обмена, поставщик файлов, похоже, не может получить доступ к этим файлам:

Код: Выделить всё

jnius.jnius.JavaException: JVM exception occurred: Failed to find configured root that contains /storage/emulated/999/Pictures/9GAG/Or-if-you-eat-the-Mona-Lisa.jpg java.lang.IllegalArgumentException
Путь определенно существует, я вижу изображения в папке моего приложения.
Сейчас мой файлProvider_paths.xml выглядит так: Что мне нужно добавить? Или проблема в другом?


Подробнее здесь: https://stackoverflow.com/questions/792 ... pp-storage
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»