Android APP升级时解析程序包时出现问题

2022/3/3 11:15:12

本文主要是介绍Android APP升级时解析程序包时出现问题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一个新的测试机在自动下载升级安装更新版本APP时,报出“解析程序包时出现问题”错误。原因众说纷纭, 一番搜索,下面的回答比较全面:

https://stackoverflow.com/questions/39147608/android-install-apk-with-intent-view-action-not-working-with-file-provider

简单总结:

1. 安卓7以下一般问题不大

2. 安卓7及以上需要使用FileProvider

3. 安卓7.1 需要在清单中增加 REQUEST_INSTALL_PACKAGES 权限

4. 安卓8  需要授权允许应用安装未知应用,在应用权限中设置。(此次问题)

 

另, 

1. 注意检查是否有外存储器的读写权限, 如果没有就无法正常下载程序。

2. 应用权限是否被允许"安装未知应用",可以如下这样判断, 坑:但targetSdkVersion需要至少为26,否则下面的方法永远返回false;

this.getPackageManager().canRequestPackageInstalls()

判断后可以帮助用户跳转到设置页面引导用户设置,也可以让用户自行通过系统设置的应用权限管理设置。

Intent unknownAppSourceIntent = new Intent()
.setAction(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES)
.setData(Uri.parse(String.format("package:%s",MainOneActivity.this.getPackageName())));

startActivityForResult(unknownAppSourceIntent, UNKNOWN_APP_INSTALL);

 

一些定制android系统高于安卓8不进行步骤四,也是可以安装的,而有些则不可以。 唉,安卓的碎片化~。。。

 



这篇关于Android APP升级时解析程序包时出现问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程