Android 应用程序因 android.os.FileUriExposedException 而崩溃

Android App is crashing because of android.os.FileUriExposedException

当我尝试更新应用程序时应用程序崩溃了。在我们的应用程序中,我们将更新版本保存在缓存中,然后尝试从缓存中安装应用程序。应用程序因 android.os.FileUriExposedException 而崩溃 我找到了日志 android.os.FileUriExposedException: file:///storage/emulated/0/test.txt 通过 Intent.getData() 暴露在应用之外 我知道这个问题的解决方案。我修复了较新版本的应用程序。对于新版本的应用程序,我使用 FileProvider 进行 apk 安装,但旧版本的应用程序使用 Uri.fromFile(dest)。 现在的问题是应用程序的自动更新。我需要从旧版本的应用程序自动更新应用程序。当我尝试更新新应用程序时,它会下载该应用程序,但当我尝试安装该应用程序时,它会崩溃。有没有办法从旧版本的应用程序安装应用程序? 注意:以前的开发者没有为我们的应用程序使用 Play 商店。

提前致谢

不要使用 Uri.fromFile() 你正在使用文件提供程序所以使用 FileProvider.getUriForFile(Context context, String authority, File file) 否则文件提供程序有什么用。

FileProvider 文档 -> https://developer.android.com/reference/androidx/core/content/FileProvider