这两天在搞软件在线升级,发现出现问题不断,在这里记录一下:
之前下载成功后,我一直都是这样写的:
图一
结果报这样的bug:android.os.FileUriExposedException: file:///storage/emulated/0/Download/appName-xxx.apk exposed beyond app through Intent.getData().
出现这个问题是因为安卓设备版本>N(也就是Android7.0以上),为了解决这个问题,上面代码调整成这样:
1、在AndroidManifest.xml文件增加provider
图二
2、在res目录下新建xml文件夹,新建一个名为file_paths文件。
图三
3、刚才的代码兼容Android7.0。红色框住的地方和第一步是一致。
图四
到了这样,好像都没什么问题了。我试了很多次,都是没有安装成功。程序也没有什么报错。网上很多文章也是写到这样就完了。查找了很多资料都是没有解决。最后才发现是少了一个权限。在AndroidManifest.xml文件增加这个权限就妥妥了
图五
整个流程下来就解决了下载成功后没有出现安装界面的问题。希望帮到出现类似问题的朋友们。愿码友们天天好心情!