Как сохранить сохранность данных хранилища приложения даже после удаления приложения в Android 10 (API 29)

#android #android-10.0 #android-storage

#Android #android-10.0 #android-хранилище

Вопрос:

Поскольку getExternalStorageDirectory() оно устарело на Android 10 (API 29), я использую context.getExternalFilesDir() для хранения загруженных файлов во внутреннем хранилище путем предоставления Manifest.permission.WRITE_EXTERNAL_STORAGE , но в соответствии с документацией:

Это похоже на getFilesDir() в том смысле, что эти файлы будут удалены при удалении приложения

Я не ориентируюсь на SAF, так как не хочу, чтобы пользователь выбирал каталог с. ACTION_OPEN_DOCUMENT_TREE

Заранее благодарен за помощь.

Комментарии:

1. «Я не хочу, чтобы пользователь выбирал каталог с ACTION_OPEN_DOCUMENT_TREE». — если файл является формой носителя, используйте MediaStore .

2. @CommonsWare Большое вам спасибо за этот совет.. Да, некоторые из них представляют собой файлы mp3, а другие — базы данных (файлы .db).. Если я могу спросить в этом контексте, deleted when the application is uninstalled включает ли обновление приложения?

3. «Удаление при удалении приложения включает обновление приложения?» — нет, как и ваши SharedPreferences и другие постоянные данные, getExternalFilesDir() содержимое сохраняется при обновлении приложения. Если пользователь удаляет приложение, getExternalFilesDir() содержимое удаляется. Аналогично, если пользователь выполняет «очистку данных» в настройках вашего приложения, getExternalFilesDir() содержимое удаляется.