admin管理员组文章数量:1558103
在实现APP自动更新的过程中,发现安装包成功下载到本地了,但是在安装时,却报了“解析软件包时出现错误”,如下:
参考众多博客后,找到了答案
原代码:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(getUriForFile(mContext,apkFile),"application/vnd.android.package-archive");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(intent);
修改后:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(getUriForFile(mContext,apkFile),"application/vnd.android.package-archive");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);//加了这句,原博主的解释是:添加这一句表示对目标应用临时授权该Uri所代表的文件
mContext.startActivity(intent);
在此之前还遇到了其他问题,列在下面:
解决android.os.FileUriExposedException: file:///storage/emulated/0/xxx.xxx exposed beyond app through Intent.getData()崩溃异常,参考解决办法①
Android开发:解决 Android N 7.0 上 报错:android.os.FileUriExposedException中的“通用的步骤”
Android7.0以上系统无法跳转到APK安装页
软件更新功能参考博客:
android实现软件自动更新的步骤
简单实现安卓自动更新
版权声明:本文标题:Android 7.0以上 APP软件自动更新 解析软件包时出现错误 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1727321333a1108356.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论