近期反馈过来华为mate30在游戏内更新底包的时候会导致直接闪退,连上真机测试后,发现出现的报错如下:

安卓底层代码之前是这样的:

由于本人是个java底层的小白,网上查找资料一步一步做修改,慢慢摸索着来的,首先给加了一个抛出异常的操作,防止下载到100%的时候直接闪退。
但是这个只是治标不治本,下载结束后没有跳转安装界面也没有闪退而已。接下来进行下一步操作。网上关于安卓版本10的资料比较少,然后项目也属于成熟的那种,一开始没有往权限方面想,一直在定位的是自己的存储位置是否正确。后面断点发现存储位置正确。接着网上百度到很多说安卓版本8以后的权限问题会导致这个错误。参考了前辈的文章,上链接:https://www.cnblogs.com/changyiqiang/p/11249839.html。
步骤一:
在Mainfest.xml 中加入权限编码
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
但是并没有解决我的问题,还是会闪退,继续报原来的错误。
步骤二:
修改安装代码如下:

本文介绍了华为Mate30手机在游戏内更新底包时遇到的闪退问题,问题根源在于Android 10的权限管理。通过在Manifest.xml中添加权限编码、修改安装代码以及指定fileprovider的路径,最终解决了闪退问题。同时,文章还提供了对Android存储区域的理解和相关代码示例。
最低0.47元/天 解锁文章
3804

被折叠的 条评论
为什么被折叠?



