e-works数字化企业网  »  文章频道  »  基础信息化  »  移动应用

Android O 新特性和行为变更总结

2017/8/29    来源:腾讯Bugly    作者:佚名      
关键字:Android O   Android  
前段时间解决了几个 QQ 音乐多窗口屏幕显示的 bug,虽然这个问题最终不是 Android O 版本的问题,多窗口是 Android 7.1 之后引入的,但是趁此机会了解一下 Android O 版本的新特性也不错。
    1. Android O 新特性
 
    前段时间解决了几个 QQ 音乐多窗口屏幕显示的 bug,虽然这个问题最终不是 Android O 版本的问题,多窗口是 Android 7.1 之后引入的,但是趁此机会了解一下 Android O 版本的新特性也不错。
 
    在 Google IO 大会上介绍到的 Android O 新版本更新和优化主要集中在两个方面:Fluid Experiences 和 Vitals,Fluid Experience 主要包含了四个显著特性:Notification Dots, Picture In Picture, Autofill Framework 和 Smart Text Selection;而 Vitals 主要在电池续航、安全、启动时间以及稳定性这几个方面做优化。
 
    1.1 通知变更
 
    Android O 版本重新设计了通知,让通知的管理更加方便,首先引入了通知渠道用来让用户统一管理通知,当 targetApi 设置为 O 版本时,必须要实现一个或多个通知渠道,如果设置为 O 版本之前的版本,在 O 版本设备上的行为则和 7.x 版本保持一致。通知渠道提供了一种将应用内的通知变成一个个易于管理组的方法,通知渠道创建并提交到 notification manager 后,便无法通过编程方式修改通知渠道的行为,这些设置之后则由用户掌控。用户现在可以使用一致的系统 UI 管理大多数与通知有关的设置。所有发布至同一通知渠道的通知都具有相同的行为。当用户长摁通知或者通过设置去到通知的设置页面的时候,可以看到这些界面:
 
Android O 新特性和行为变更总结
 
    通过这个设置页面可以看到,用户可以将应用所有的通知渠道关闭,或者关闭某一个单独的通知渠道,每一个通知渠道也有相应的行为,用户可以去自行修改,比如修改通知渠道的优先级,如果支持的话,用户还可以去声明通知是否同时显示为应用的角标。Android O 还引入了通知角标,当一个应用的通知没有 dismiss 的时候,会在应用的图标上面显示一个角标,长摁这个应用的图标,也会显示通知的详情信息:
 
Android O 新特性和行为变更总结
 
    O 版本弃用了对单个通知设置优先级的功能,现在是对通知渠道设置优先级,该通知渠道的所有通知都适用于该优先级,优先级从 IMPORTANCE_NONE(0)至 IMPORTANCE_HIGH(4),对用户的提醒等级从小到大。关于创建通知渠道组,向渠道组发送通知或者修改通知渠道组设置的代码可以查看 Google 文档:通知渠道(https://developer.android.com/preview/features/notification-channels.html#CreatingGroups)。
 
    同时还引入了一个通知睡眠的功能,用户可以休眠一个通知,让它在指定的时候再出现,被休眠的时候仍然可以修改这个通知的设置,但是不会让这个通知立马出现。另外还可以设置一个通知的超时时间,用来让某个通知在一段时间之后被自动 cancel。其他的比如可以获取通知的清除方式,修改通知的背景颜色,修改通知的样式可以看官方文档:Android O-通知(https://developer.android.com/preview/api-overview.html#notifications)。
 
    使用场景:针对应用的不同优先级别的通知设置不同的通知渠道,强提醒可以发出声音加震动,弱提醒可能仅仅只需要呼吸灯和角标这样等,这样可以最大程度减少对用户的干扰。
 
    1.2 画中画模式
 
    在 Android O 之前,画中画模式已经可用于 Android TV,而 Android O 则让这一个功能可以支持到其他的 Android 设备,当某个 Activity 处于 PIP 模式时,它会回调生命周期的 onPause 方法,所以此时在 PIP 模式下比如视频播放等操作就不能够在 onPause 里面暂停,而应该在 onStop 里面,这一点和多窗口模式一样,来看看它的效果:
 
Android O 新特性和行为变更总结
 
    我们可以看到在当从 youtube 视频切换出去之后会回到桌面,这时候会有一个视频播放的窗口悬浮在所有的应用之上,这个小窗口在播放视频,而此时点击这个小窗口区域会弹出几个操作按钮,可以选择关闭,或者是重新打开 youtube 视频播放页,而且底部的几个按钮也是可以自定义的,非常方便。
 
    这里需要提到的一点是,升级到 8.0 的系统后不是立马会激活这个功能,激活这个功能可能会有点复杂:
 
  • 第一步开启 System UI Tuner 功能,开启的方式是下拉通知栏,长摁右下角的设置按钮,
Android O 新特性和行为变更总结
 
    直到系统提示 System UI Tuner 已开启;
 
  • 第二步去设置页面  Settings > System > System UI Tuner > Navigation bar,去到 navigation bar 之后选择 extra left button type 或者 extra right button type,选择 keycode,选择完成之后返回到上一个页面填写  right/left keycode 为 171,代表将当前显示页面变为 PIP 模式窗口(如果不支持页面没有任何反应),然后选择一个 right/left icon:
 
    之后就会在导航栏上出现一个新增的按钮,这个按钮就是用来将页面进入 PIP 模式;
 
Android O 新特性和行为变更总结
 
  • 第三步再返回上一个System UI Tuner页面,选择 Picture-in-Picture 模式,进去之后将 Minimize 打开即可。
 
    完成上面的操作之后,进入支持 PIP 模式的页面,比如 youtube 的视频播放页面,点击导航栏新增的那个按钮,页面就会缩小到一个小窗口播放,如上面的实例图片所示。
 
    要指定 Activity 可以使用 PIP 模式,需要在 Manifest文件中将 android:supportsPictureInPicture 设置为 true,除了上面提到的用户手动将 Activity 变成 PIP 模式,还可以使用 Activity.enterPictureInPictureMode(PictureInPictureArgs args) 动态将 Activity 设置为 PIP 模式, PictureInPictureArgs 这个对象参数是用来指定 Activity 处于 PIP 模式时的行为,此对象还指定了各种属性,例如 Activity 的首选纵横比,同时还可以使用 Activity.setPictureInPictureArgs() 更新 Activity 的 PIP 配置设置,如果 Activity 目前处于 PIP 模式,则会更新此设置。
 
    使用场景:这个功能就很贴心了,比起以前的 Multi-window,这个更强调两个应用的主次之分,比较适合的场景可能有视频播放页面的最小化,地图应用的最小化等等。针对 QQ 音乐来说可以使用在直播页面,MV 播放页面等等。
 
    1.3 自适应图标
 
    为了帮助开发者更好的与设备 UI 集成,Android O 支持创建自适应图标,系统可以基于设备选择的蒙版将这些图标显示为不同形状。系统还将实现与图标的自动交互,并在启动器、快捷方式、设置、共享对话框以及概览屏幕中使用它们:
 
Android O 新特性和行为变更总结
Android O 新特性和行为变更总结
 
    可以通过定义两层图层(前景和背景)来指定桌面图标外观,必须提供没有形状和阴影的 PNG 格式图象作为图层:
 
Android O 新特性和行为变更总结
 

责任编辑:李欢
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
e-works
官方微信
掌上
信息化
编辑推荐
新闻推荐
博客推荐
视频推荐