Android8.0适配那点事

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android8.0适配那点事相关的知识,希望对你有一定的参考价值。

1、通知渠道(Channeld)

当然,适配8.0的第一步自然是把targeSdk升级到26,在8.0中所有通知的实现都需要提供通知渠道,否则,所有通知在8.0系统上面都不能正常显示;

下图是8.0系统上,APP通知的展示样式:
技术分享图片
APP适配渠道通知的实现如下:
技术分享图片
技术分享图片

2、悬浮窗

8.0 API 新增了一种悬浮窗的窗口类型,TYPE_APPLICATION_OVERLAY;

如果应用使用 SYSTEM_ALERT_WINDOW 权限并且尝试使用以下窗口类型之一来在其他应用和系统窗口上方显示提醒窗口:

TYPE_PHONE
TYPE_PRIORITY_PHONE
TYPE_SYSTEM_ALERT
TYPE_SYSTEM_OVERLAY
TYPE_SYSTEM_ERROR
TYPE_TOAST
技术分享图片
这些窗口将始终显示在使用 TYPE_APPLICATION_OVERLAY 窗口类型的窗口下方。
如果该应用适配了8.0,则应用只能使用TYPE_APPLICATION_OVERLAY窗口类型来创建悬浮窗。(其它窗口类型在8.0已经被废弃掉)

3、画中画模式(新增功能)

我们知道Activity是默认支持分屏模式的,但我们也需要声明Activity是允许分屏的,再增加支持画中画模式:
技术分享图片

App页面从全屏模式切换到画中画模式,它的Activity生命周期也会经历销毁后重建的过程,如果开发者想保持App页面不被重建,则需给该页面的activity节点加上以下的属性描述:

android:configChanges="srceenLayout|orientation"

对于视频播放页面,Activity代码同样不在onPause方法中暂停播放视频,而应当在onStop方法中暂停播放,并在onStart方法中恢复播放视频;

技术分享图片
技术分享图片

进入画中画模式:
技术分享图片

4、自适应图标

Android 8.0 引入自适应启动器图标,可在不同设备型号上显示为各种不同的形状,创建方式如下:
技术分享图片

然后点击Next后,直接finish,最后在application中使用:

技术分享图片

结语

各位看官,别走开,你的留言,你的点赞,是我前进的动力,接下来还有启动页的适配,版本更新适配等其他一些功能详细阐述;文中如有错误请留言指出,共同探讨。

技术分享图片

以上是关于Android8.0适配那点事的主要内容,如果未能解决你的问题,请参考以下文章

几种适配器&观察者&ListView之间的那点事

Android8.0适配之一应用图标适配

Android 模拟输入那点事

java android8.0以后,通知需要单独适配。

Android Framework:关于AMS的那点事

android调试stetho的那点事