Приложение Android аварийно завершает работу из-за исключения android.os.FileUriExposedException

Приложение вылетает, когда я пытаюсь обновить приложение. В нашем приложении мы сохраняем обновленную версию в кеше, а затем пытаемся установить приложение из кеша. Приложение вылетает из-за android.os.FileUriExposedException. Я нашел журнал android.os.FileUriExposedException: файл:///storage/emulated/0/test.txt, выставленный за пределы приложения через Intent.getData(). Я знаю решение этой проблемы. . Я исправил в новой версии приложения. Для новой версии приложения я использовал FileProvider для установки apk, но старая версия приложения использует Uri.fromFile(dest). Теперь проблема в автообновлении приложения. Мне нужно автоматически обновить приложение из старой версии приложения. Когда я пытался обновить новое приложение, оно загружалось, но когда я пытался установить приложение, оно вылетало. Есть ли способ установить приложение из старой версии приложения? NB: предыдущий разработчик не использовал Play Store для нашего приложения.

заранее спасибо


person Mdohammad Sajib Al Seraj    schedule 15.01.2021    source источник
comment
Проверьте это - stackoverflow.com/a/68417915/6390459   -  person Shunan    schedule 17.07.2021


Ответы (1)


не используйте Uri.fromFile(), вы используете файловый провайдер, поэтому используйте FileProvider.getUriForFile(Context context, String authority, File file), иначе какой смысл в файловом провайдере.

Документ FileProvider –> https://developer.android.com/reference/androidx/core/content/FileProvider

person Abhinav Chauhan    schedule 16.01.2021