由于 android.os.FileUriExposedException,Android 应用程序崩溃
Posted
技术标签:
【中文标题】由于 android.os.FileUriExposedException,Android 应用程序崩溃【英文标题】:Android App is crashing because of android.os.FileUriExposedException 【发布时间】:2021-04-20 22:45:52 【问题描述】:当我尝试更新应用程序时,应用程序崩溃了。在我们的应用程序中,我们将更新版本保存在缓存中,然后尝试从缓存中安装应用程序。应用程序因 android.os.FileUriExposedException 而崩溃 我找到了日志 android.os.FileUriExposedException: file:///storage/emulated/0/test.txt 通过 Intent.getData() 暴露在应用程序之外 我知道这个问题的解决方案。我修复了较新版本的应用程序。对于新版本的应用程序,我使用 FileProvider 进行 apk 安装,但旧版本的应用程序使用 Uri.fromFile(dest)。 现在的问题是应用程序的自动更新。我需要从旧版本的应用程序自动更新应用程序。当我尝试更新新应用程序时,它会下载该应用程序,但是当我尝试安装应用程序时它会崩溃。有没有办法从旧版本的应用程序安装应用程序? 注意:之前的开发者没有为我们的应用使用 Play 商店。
提前致谢
【问题讨论】:
看看这个 - ***.com/a/68417915/6390459 【参考方案1】:不要使用Uri.fromFile()
你正在使用文件提供者所以使用 FileProvider.getUriForFile(Context context, String authority, File file)
否则文件提供者有什么用。
FileProvider 文档 -> https://developer.android.com/reference/androidx/core/content/FileProvider
【讨论】:
以上是关于由于 android.os.FileUriExposedException,Android 应用程序崩溃的主要内容,如果未能解决你的问题,请参考以下文章