最近有小伙伴说,7.0适配整了一波,现在又要来适配8.0,真是一波未平一波又起

但是作为开发者来说,学无止境,不跟上时代的步伐,肯定会被时代所淘汰...

话说Android P已经在路上了,你准备好了吗?

 适配属性 

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适配那点事(一)的更多相关文章

  1. Android8.0适配那点事(二)

    小伙伴们,咱们今天咱继续对Android8.0的适配进行分解,今天将针对启动页,版本适配和系统限制等进行“啃食” 猛戳这里查看Android8.0适配那点事(一): 1.启动页适配 近日,我无意中发现 ...

  2. Android8.0运行时权限策略变化和适配方案

    版权声明:转载必须注明本文转自严振杰的博客:http://blog.yanzhenjie.comAndroid8.0也就是Android O即将要发布了,有很多新特性,目前我们可以通过AndroidS ...

  3. [转]Android 应用自动更新及6.0,7.0,8.0适配安装

    原贴:https://www.jianshu.com/p/ea42040c7ace 原贴:https://www.jianshu.com/p/ea42040c7ace 原贴:https://www.j ...

  4. android 8.0 适配(总结)

    android 8.0 对应的 sdk 版本  26 1. 通知栏 Android 8.0 引入了通知渠道,其允许您为要显示的每种通知类型创建用户可自定义的渠道.用户界面将通知渠道称之为通知类别. 针 ...

  5. Android8.0 后台服务保活的一种思路

    原文地址:Android8.0 后台服务保活的一种思路 | Stars-One的杂货小窝 项目中有个MQ服务,需要一直连着,接收到消息会发送语音,且手机要在锁屏也要实现此功能 目前是使用广播机制实现, ...

  6. Android权限管理之RxPermission解决Android 6.0 适配问题

    前言: 上篇重点学习了Android 6.0的运行时权限,今天还是围绕着Android 6.0权限适配来总结学习,这里主要介绍一下我们公司解决Android 6.0权限适配的方案:RxJava+RxP ...

  7. fir.im Weekly - 关于 Log Guru 开源、Xcode 探索和 Android7.0 适配

    本期 fir.im Weekly 整理了最近的一些技术分享,包括关于 Log Guru 开源.Xcode 探索. Android7.0 适配等等 iOS/Android 相关的工具.源码分享和技术文章 ...

  8. Android8.0通知

    android里面经常会使用Notification来显示通知的消息,一般使用NotificationManager来创建通知消息 NotificationManager manger = (Noti ...

  9. Android7.0适配APK安装

    Android7.0适配APK安装 适配的原因 对于面向Android7.0的应用,Android框架执行的StrictMode API政策禁止在您的应用外部公开file://URL.如果一项包含文件 ...

随机推荐

  1. Dubbo架构设计详解(转载)

    原文地址:http://shiyanjun.cn/archives/325.html Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解 ...

  2. 在Mac OS X上启用Apache和PHP

    因为Mac OS X上都已自带了Apache和PHP,所以都无需进行安装,只要按照自己的需要进行设置即可. 找到httpd.conf文件,并用编辑器打开. 加载PHP模块.找到 #LoadModule ...

  3. SSH 转发学习【转】

    本地端口转发 假定有三台主机A.B.C.由于种种原因(无论是防火墙还是路由原因),AC两台主机之间无法连通.但是B却可以和A.C连通.这时候就可以用本地端口转发来实现A和C通过B来连通. A 192. ...

  4. mysql 一个表内根据字段对应值不同查询统计总数

  5. docker 使用swarm overlay网络时,报“network xx not manually attachable”错误解决

    当使用swarm的overlay网络,在该网络中运行容器时报“network xx not manually attachable”的错误 docker network create -d overl ...

  6. wordcloud+jieba

    Wordcloud各参数含义 font_path : string #字体路径,需要展现什么字体就把该字体路径+后缀名写上,如:font_path = '黑体.ttf' width : int (de ...

  7. yum命令速查

    1 yum的基本原理 CentOS可在yum服务器上下载官方网站给出的rpm给出的表头列表数据,该数据除了记载每个rpm软件的相依性之外,也说明了rpm所放置的容器(repository)所在.通过分 ...

  8. ZUI分页器的使用案例(ECLIPSE SMS项目)

    不足:并未编写导出功能 HTML代码: <form action="${basePath}/SMSLogList.cwai" method="post" ...

  9. SpringBoot+Mybatis+Generator 逆向工程使用(二)

    Mybatis-Genarator 逆向工程使用 个人开发环境 java环境:Jdk1.8.0_60 编译器:IntelliJ IDEA 2017.1.4 mysql驱动:mysql-connecto ...

  10. LDA和PCA区别

    https://blog.csdn.net/brucewong0516/article/details/78684005