记录一个唤起安装 apk 文件成功后打开 app 首次会闪退的问题。
现象:app 内更新版本,下载完 apk 后调起安装,系统安装完成后会自动打开 app ,这时候 app 会闪退,再次手动点开 app,则正常打开,且已更新到想要的版本。
看看这一部分的代码,如图是我改过之后的代码,圈起来的是出问题的部分:
原先的代码里 (2)处使用的是
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
这样写其实是不对的,但编译也不会报错,导致的问题就是我描述的那样,安装完成首次打开会闪退,改成正确的 addFlags() 就可以了。
另外 setFlags() 和 addFlags() 的先后顺序要写对,先 set 再 add 。如果顺序反过来的话,会出现错误:安装包解析异常。