Android8.0适配那点事(一)
最近有小伙伴说,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适配那点事(一)的更多相关文章
- Android8.0适配那点事(二)
小伙伴们,咱们今天咱继续对Android8.0的适配进行分解,今天将针对启动页,版本适配和系统限制等进行“啃食” 猛戳这里查看Android8.0适配那点事(一): 1.启动页适配 近日,我无意中发现 ...
- Android8.0运行时权限策略变化和适配方案
版权声明:转载必须注明本文转自严振杰的博客:http://blog.yanzhenjie.comAndroid8.0也就是Android O即将要发布了,有很多新特性,目前我们可以通过AndroidS ...
- [转]Android 应用自动更新及6.0,7.0,8.0适配安装
原贴:https://www.jianshu.com/p/ea42040c7ace 原贴:https://www.jianshu.com/p/ea42040c7ace 原贴:https://www.j ...
- android 8.0 适配(总结)
android 8.0 对应的 sdk 版本 26 1. 通知栏 Android 8.0 引入了通知渠道,其允许您为要显示的每种通知类型创建用户可自定义的渠道.用户界面将通知渠道称之为通知类别. 针 ...
- Android8.0 后台服务保活的一种思路
原文地址:Android8.0 后台服务保活的一种思路 | Stars-One的杂货小窝 项目中有个MQ服务,需要一直连着,接收到消息会发送语音,且手机要在锁屏也要实现此功能 目前是使用广播机制实现, ...
- Android权限管理之RxPermission解决Android 6.0 适配问题
前言: 上篇重点学习了Android 6.0的运行时权限,今天还是围绕着Android 6.0权限适配来总结学习,这里主要介绍一下我们公司解决Android 6.0权限适配的方案:RxJava+RxP ...
- fir.im Weekly - 关于 Log Guru 开源、Xcode 探索和 Android7.0 适配
本期 fir.im Weekly 整理了最近的一些技术分享,包括关于 Log Guru 开源.Xcode 探索. Android7.0 适配等等 iOS/Android 相关的工具.源码分享和技术文章 ...
- Android8.0通知
android里面经常会使用Notification来显示通知的消息,一般使用NotificationManager来创建通知消息 NotificationManager manger = (Noti ...
- Android7.0适配APK安装
Android7.0适配APK安装 适配的原因 对于面向Android7.0的应用,Android框架执行的StrictMode API政策禁止在您的应用外部公开file://URL.如果一项包含文件 ...
随机推荐
- Maven与Hudson集成
Hudson是一款优秀的持续集成产品,本文阐述Maven于Hudson的集成 Hudson的下载和安装 Hudson有两种安装模式,1:自运行(Hudson内建netty容器),2:放到如tomc ...
- EF 一对一、一对多、多对多配置语句小记
数据库实体间的关系无非有这么几种:一对一.一对多.多对多,这些关系在EF框架中分别有不同的创建方式: 1.在"Database First"模式中,这些关系通过SQL语句的方式建立 ...
- windows本地调试安装hadoop(idea) : ERROR util.Shell: Failed to locate the winutils binary in the hadoop binary path
1,本地安装hadoop https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/ 下载hadoop对应版本 (我本意是想下载hadoop ...
- vmware 实现linux目录映射window本地目录
---恢复内容开始--- 背景: 1,使用lnmp环境 2,代码可以在windows上面写,直接映射到linux的lnmp环境下面 第一步: vmware 新建一个linux虚拟机 一路下一步到完成 ...
- 《LeetBook》leetcode题解(19):Remove Nth Node From End of List[E]——双指针解决链表倒数问题
我现在在做一个叫<leetbook>的开源书项目,把解题思路都同步更新到github上了,需要的同学可以去看看 这个是书的地址: https://hk029.gitbooks.io/lee ...
- Disconf 学习系列之Disconf 与 Diamond的横向对比(图文详解)
不多说,直接上干货! Disconf 学习系列之Disconf是什么? Disconf 是来自百度的分布式配置管理平台,包括百度.滴滴出行.银联.网易.拉勾网.苏宁易购.顺丰科技 等知名互联网公司正在 ...
- 解决linux安装软件依赖的曲线救国方案
相信大家在一台无法连接外网的linux上安装软件时,对于软件依赖的安装,都会特别头疼,因为软件依赖的安装,不论是其数量,还是安装的复杂度都比软件本身要高出一个维度! 今天就和大家分享一个,解决linu ...
- SpringBoot入门 (二) 属性文件读取
在上一篇中介绍了在idea中创建springboot工程及使用web工程输出“helloworld”到前端页面,本文学习在springboot工程中读取属性文件中的属性值. 一 自定义属性 在appl ...
- C# 代码占用的空间
是不是代码会占用空间,如果一个程序初始化需要 100M 的代码,那么在他初始化之后,这些代码就没有作用了,他会不会占空间?本文经过测试发现,代码也是会占空间. 我写了2k个垃圾类代码,然后把他放在一个 ...
- 关于C#判断是否是数字的正则式
有话要说 今天我同事突然让我帮他看个问题,他说想不通为什么数据库中会有不合法的内容,我都已经用正则过滤了,并且在本地调通了的! 我问他是不是你正则有问题,他说没问题啊,前端和后端的正则是一样的,前端我 ...