适配8.0版本更新安装和通知栏的一些坑

废话不多说,最近适配了8.0的检查更新的功能,包括通过uri安装和notification提示进度。网上的例子很多 但是都很坑,需要加权限

<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

这个权限是不需要动态申请的。一些坑人的帖子还写的很有道理的样子,要申请 并没有什么卵用。

下边说一下具体的适配步骤及注意事项:

1、添加权限

<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

2、动态申请权限在这里简单说下:

manifest里添加

适配8.0版本更新安装和通知栏的一些坑_第1张图片

在res目录下添加xml目录

适配8.0版本更新安装和通知栏的一些坑_第2张图片

3、关于URI获取的工具类(可加群195026919在群共享获取),由于排版问题 只能截图了。

适配8.0版本更新安装和通知栏的一些坑_第3张图片

适配8.0版本更新安装和通知栏的一些坑_第4张图片

适配8.0版本更新安装和通知栏的一些坑_第5张图片

4、调用方式,调用安装代码

所有的URI获取 都用下边代码

Uri uri = FileProvider7.getUriForFile(context,updateFile);

安装apk代码

适配8.0版本更新安装和通知栏的一些坑_第6张图片

调用之后会弹出下边这样的提示框,而不是一个应用加载列表手动选择点击授权。

适配8.0版本更新安装和通知栏的一些坑_第7张图片

5、通知栏notification注意事项

     用下边的版本进行编译项目 之前Notification.Builder的方式能支持8.0 的手机,但是如果用26去编译在8.0上就会有问题了notification不会出现等问题,notification的在一些8.0以下的个别的手机上也会有问题,特别是小米的。一些参数得单独设置,

        android:minSdkVersion="8"

        android:targetSdkVersion="23" />

在适配8.0手机的时候最好用

NotificationChannel来去实现通知栏,免得以后再出现兼容的问题。
好了,今天就说到这里有什么疑问欢迎进群交流,欢迎打赏哦

适配8.0版本更新安装和通知栏的一些坑_第8张图片



你可能感兴趣的:(适配8.0版本更新安装和通知栏的一些坑)