Android. Как сохранить файлы после удаления приложения?

Необходимо, что бы фотографии, которые делались через приложение, сохранялись после удаления приложения. Но функция Environment.getExternalStorageDirectory(), которая позволит получить путь и создать папку в корне внешней памяти depricated. Через getExternalFilesDir() я получаю путь до /storage/emulated/0/Android/data/myapp/. Но

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

Верно ли я понимаю, что используя deprecated функции, рано или поздно они перестанут существовать в ближайших будущих версиях android? Или приложение не будет приниматься в Play Market?

Есть ли на данный момент способ сохранять файлы так, что бы их видела галерея, и после удаления приложения сохраненные фотографии оставались в системе?

PS: На данный момент пытаюсь разобраться со следующими подходами, но пока наткнулся только на getExternalFilesDir(), который не сохранит файлы приложения после его удаления.

Нет. Google отказывается от подобной работы с файлами. Начиная с API 29+ вы должны использовать один из следующих инструментов: Storage Access Framework, Media Store и File Provider.

Update #1: Нашел документацию, как я понял, по новой политике google при работе с памятью: Data and file storage overview.

Там описаны новые классы и их возможности. Как я понял, с версии android 11 придется использовать их, т.к. создавать папки напрямую в корне уже не получится. Для сохранения сохранения медиа файлов приложения, что бы они оставались после удаления, необходимо будет использовать следующий подход https://developer.android.com/training/data-storage/shared/media

P.S. Получается, изначально вопрос был задан некорректно, либо решения на заданный вопрос не существует. Я не уверен, правильным ли будет являться ответ, который отсылает к изучению https://developer.android.com/training/data-storage/shared/media ?


Ответы (0 шт):