手记

android8.0之程序员开发时的填坑经历

1. 实现手动更新apk时的填坑历程:
1)读写权限申请:自动Android6.0开始,在更新apk前需要先对本地读写权限进行动态申请,我们知道READ_EXTERNAL_STORAGE和WRITE_EXTERNAL_STORAGE属于同一个权限组,即:随便申请这两个中的某一个权限,那么另外一个权限也被自动申请。
然后在android7.0系统上需要在AndroidManifest文件中增加<provider android:name="android.support.v4.content.FileProvider"/>,否则会报错,具体配置可在网上搜索。
然后这次android8.0来了,那么我的坑也来了:
我之前的代码里动态申请权限的权限是READ_EXTERNAL_STORAGE,读写本地文件都很爽歪歪,但运行到Android8.0之后,我擦,竟然报错,说我的权限被拒绝了,后来改成WRITE_EXTERNAL_STORAGE就没有问题了。
2)应用安装权限申请:安卓8.0的软件安装机制发生了改变,不过很简单,只需要在AndroidManifest文件中增加权限:android.permission.REQUEST_INSTALL_PACKAGES就万事大吉了!

总结:实现手动更新app的功能,需要以下两个权限:
1.动态申请本地文件写权限:Manifest.permission.WRITE_EXTERNAL_STORAGE(当然在AndroidManifest文件中也需要静态添加该权限)
2.AndroidManifest文件中静态增加权限:android.permission.REQUEST_INSTALL_PACKAGES(无需动态申请)

原文链接:http://www.apkbus.com/blog-230381-77409.html

0人推荐
随时随地看视频
慕课网APP