New Notification Features for Android Wear - 1503210446
Last updated
Was this helpful?
Last updated
Was this helpful?
视频发布时间
2014年6月25日
视频介绍
Learn about the new Notification features added for Android Wear, including automatic bridging from phone or tablet, new display templates, notification bundles, remote voice input, and others.
视频推介语
暂无,待补充。
翻译
润稿
终审
原始链接
中文字幕
翻译流水号
加入字幕组
虞高
wang7x
程路
1503210446
嗨
我是Griff Hazen 穿戴式安卓设备的工程师
我的团队正致力于开发为安卓穿戴式设备创造
丰富通知体验的API(应用程序接口)
让我们来看一下穿戴式设备通知的三个方面
新的显示选项 新的通知行为特性
和高级的用户自定义选项
这是一个通知流
一种获取信息和与用户交互的绝佳方式
垂直通知列表包含不同形状和大小的通知
在表盘上向上滑动以打开一个通知
继续滑动能显示附加的卡片(material design)
通过调用Android通知的API
通知可以被加入通知流中
如果你很熟悉这些API
你可能认出这里的一些特性
举个栗子 可以在通知栏
向右滑来进入
独立屏幕显示的卡片
正如在手机和平板上面
通知也可以被清除
只要按着通知卡片滑向一边然后松手
在手机上的通知会自动地同步到手表上
这让很多现有的Android应用能继续
在穿戴式设备上提供服务
同理 对通知的响应和清除操作也支持同步
我们支持多种现有的通知风格
比如有收件箱 大图模式 长文字模式
当内容过长的时候 用户可以轻点这个通知 来看到具体内容
为了丰富用户体验
我们还加入了新的API来给用户定制
它们是Android SDK和支持库中的
可穿戴设备扩展类中的一部分
让我们来一睹其详
首先我们提供多页面提醒
页面用于展现单个通知的更详细信息
这些页面可以通过滑动来进入
在屏幕的底部会显示指示点
来告诉用户现在处于哪个页面
由于页面也是通知对象
所以它们可以套用各种通知样式
如果要给一个通知添加页面 可以通过调用
新的Wearable Extender Class中的Add Page方法来实现
这些代码片段展示了如何增加两个用于显示内容的页面
组成一个三个卡片的通知
同样的 正如你在之前的动画里看到的一样
你可以添加一个不包含卡片的全屏图片的页面
这个在图像应用中很实用 比如显示地图或者照片
当创建一个只有图像页面的通知时
需要调用setBackground方法来设置一个图片
并且调用setHintShowBackgroundOnly方法来隐藏它的卡片
页面有助于在单个通知里加入细节
另外一个新的特性是通知栈
这个特性允许对多个通知进行分组
用户可以与整个栈交互
或者进入一个单独的条目
用户操作可以对整个栈和它的子通知生效
这个特性对于一些消息类的应用很方便
有可能用户想要对他所有消息进行操作
或者一次只操作其中的一个
我们创建一个通知栈 需要发布一个或者更多的子通知
并且用同样的group key来标记它们
你可以通过调用NotificationCompat.Builder
里的setGroupMethod方法来完成
同一个应用具有相同
group key的通知会集成在同一个栈里
你还可以调用setSortKey方法来整理这些条目
如果你想要为一个子通知集合设定背景图片和用户操作
你可以用一个可选的群组摘要通知
在这种情况下 用户将看到 归档所有通知 这样的群组操作
确保你对每一个通知设置了
独立的ID或tag 否则
在弹出通知的时候会互相覆盖
目前所展示的所有通知方式
都用了默认的模式
即在已有的卡片的
右边加上额外的页面
左图的手表展现了这种方法
滑走主卡片页面可以显示暂停按钮页面
然而 右图中的手表展示了直接在
已有的卡片上显示按钮
这使得整个卡片可以被点击
调用穿戴式设备类库里的setContentAction方法
能够在卡片上设置动作
这些动作将不会作为独立的页面显示
远程输入是一个通知动作的新特性
这一特性允许用户触发远程输入时
收集用户的文本信息
用户需要说出一个词
然后从一组选项中进行选择
输入的结果会与你的操作intent
一起发送
远程输入是手机 平板
穿戴式设备应用进行语音互动的便捷方式
展示出来的代码片段说明了 如何给一个回复操作添加远程输入功能
当用户触发这个行为时
这些代码会在Quick Reply的标签后台
准备好提供语音输入接口
一旦文字从语音被转化出来 并且在经过用户的允许情况下
包含输入结果的操作intent就会被触发
intent接受器可以是
一个activity service或者是广播接收者
可以通过调用远程输入API中的intent功能
来获取文本结果
在这段代码中 变量quickReplyText
会被赋值为用户的输入文本
这里还有许多其他选项
可以在远程输入的API中被调用
包括对预先设定选项的支持
开启或关闭远程输入 自由的输入格式
或者支持对于同一个动作有多个输入
标准的通知模版
可能并不足以用来展现
你想要表达在通知卡片中的内容
所以我们添加了一个新的API set Display Intent
这个特性通过调用一个Android activity
实时展现通知的内容
这个特性只提供给可穿戴设备上的应用
并且这些应用的编译目标API必须是level 20
当要在一个自定义通知卡片中内嵌一个activity
你必须先把它标记为exported
这可以通过设置这个activity中的exported属性来做到
设置这个属性为true 或者添加一个intent过滤器
接下来 把allowEmbedded这个属性设置成true
这个属性用来确保activity
在需要时才被集成
最后 设置taskAffinity属性为空字符串
这些activity和其他的activity类似
不过当activity位于通知流中 触摸输入不会被传递
所以不适合使用按钮
这样的控件
一旦你写完了activity
你可以在通知流中嵌入这个activity 创建一个通知
并且用可穿戴扩展对象的setDisplayIntent方法
来选择这个activity
你可以通过添加页面到display intent来向
activity传递任何必要的数据
我们来看一些自定义显示通知的例子
在通知流中的标准通知
会自动基于内容调整大小
但是当你并不想要用默认大小的时候
你需要为自定义显示通知指定一个大小
你可以通过调用穿戴式设备类库中的set custom size preset方法或者set custom
content height方法来选择一个尺寸
除了自定义显示类通知卡片
在这个视频中介绍的API
都同时适用于可穿戴设备的通知
以及绑定到可穿戴设备的手机或者平板的通知
把手机或者平板和穿戴式设备连接
是自动进行的 但是这里还有一些新的API
来定制这个连接行为
首先 你可以通过调用NotificationCompatBuilder对象
的setLocalOnly方法完全禁用这个链接
这对与其他设备无关的通知
非常有用
第二个特性是可以只推送穿戴式设备上的
通知消息
这能让你为你的手机和穿戴式设备
选择不同的通知方式
只给穿戴式设备通知处理可以通过调用Wearable Extender Class来实现
在本教程中 我们了解了一系列在穿戴式设备上进行消息推送的
新特性
我希望这能够增强现有可穿戴式设备上的Android应用
和消息通知能力
同时给创造新的穿戴式设备体验带来一些启发
更多关于这些API的信息以及设计原则
可以在Android Wear Developer网站上找到
网址是developer.android.com/wear
我是Griff Hazen 感谢您的收看