前些日子,我更新过一篇博客:https://blog.csdn.net/y505772146/article/details/55255344 。这次准备把自己最近遇到的一些类似的问题也记录一下。大家可以把两篇文章合起来看,看看是否可以解决一些奇怪的应用内更新apk问题。
首先在这里大概说一下自己的下载apk的代码,并没有使用DownloadManager去做,而是使用了HTTPURLConnection去做下载功能,具体代码不再赘述。
Vivo Z1遇到的奇怪问题
当我们HTTPURLConnection下载apk成功后,在Vivo Z1上发现一闪而过的效果,并没有如我们所愿启动安装apk界面,这里经过试验,我发现少了这一行代码:
加上这一行代码之后,vivo z1的更新功能恢复正常。
华为P20遇到的奇怪问题
当我们HTTPURLConnection下载apk成功后,在华为P20上发现一闪而过的效果,并没有如我们所愿启动安装apk界面,这里经过试验,我发现应该这么更改(这里是启动下载界面的代码,注意是在7.0及以上Android
版本生效);
这是修改之前的代码:
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
这是修改之后的代码:
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
经过这样的修改,华为P20上下载功能恢复正常。
如上两个都是一些兼容问题,并不能代表我们的手机上一定会出现这些问题。因此我们每次发版之前,如果条件允许,最好对多个设备进行兼容测试,提高我们程序的稳定性。