由于 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 应用程序崩溃的主要内容,如果未能解决你的问题,请参考以下文章

由于目标计算机积极拒绝,无法连接。

我在Android Studio工作,由于系统崩溃,一个或多个功能由于频繁的系统崩溃而崩溃。我应该如何恢复它?

SQL Server 服务由于登录失败而无法启动怎么办

Fiddler由于目标计算机积极拒绝,无法连接的解决方法

为啥我收到“由于保护级别而无法访问”错误?

SVN 由于目标机器积极拒绝,无法连接