Android Wear Preview- 归档通知(Stacking Notifications)
----------------------------------------------------------------------------------------------------------------------------------------------------------
原文作者:Google
原文地址:http://developer.android.com/wear/notifications/stacks.html
原文版权:Creative Commons 2.5 Attribution License
译文作者:Jianan - qinxiandiqi@foxmail.com
版本号信息:本文基于2014-06-24版本号翻译
译文版权:CC BY-NC-ND 4.0。同意复制转载,但必须保留译文作者署名及译文链接。不得演绎和用于商业用途
----------------------------------------------------------------------------------------------------------------------------------------------------------
前言
当在手持设备上创建通知的时候,你应该常常将一些相似的通知归并到一个单一的摘要通知中。比方。假设你的应用接收到信息后会创建通知,你不应该在手持设备上创建多条通知。当接收到多条信息的时候。你应该使用一条单一的通知并显示相似“2 new messages”这样的摘要信息。
可是。一个摘要通知在Android Wear设备上就显得没那么实用,由于用户不能够在穿戴设备上具体阅读每条信息(他们必须在手持设备上打开你的应用程序来查看很多其他的信息)。
因此,在穿戴设备上,你应该将全部通知归档到一个栈中。
包括多个通知的栈将作为一张卡片显示。用户能够展开来查看每一条通知的具体信息。
新的setGroup()方法让这一切成为可能,而且还能够同一时候在手持设备上仅仅保持提供一条摘要通知。
很多其他关于设计通知栈的内容,请參考Design Principles of Android Wear。
Add Each Notification to a Group(将每一条信息分组)
创建一个栈,你须要为每条通知调用setGroup()方法,并指定分组的key。然后调用notfiy()方法将它发送到穿戴设备上。
final static String GROUP_KEY_EMAILS = "group_key_emails"; // Build the notification and pass this builder to WearableNotifications.Builder
NotificationCompat.Builder builder = new NotificationCompat.Builder(mContext)
.setContentTitle("New mail from " + sender1)
.setContentText(subject1)
.setSmallIcon(R.drawable.new_mail); Notification notif1 = new WearableNotifications.Builder(builder)
.setGroup(GROUP_KEY_EMAILS)
.build(); // Issue the notification
NotificationManagerCompat notificationManager =
NotificationManagerCompat.from(this);
notificationManager.notify(notificationId1, notif);
之后,当你创建其他通知的时候,仅仅要你指定同样的分组key。那么你调用notify()方法之后,这条通知就会跟之前的通知一样出如今同样的通知栈里面,并替代成为一张新的卡片:
builder = new NotificationCompat.Builder(mContext)
.setContentTitle("New mail from " + sender2)
.setContentText(subject2)
.setSmallIcon(R.drawable.new_mail); // Use the same group as the previous notification
Notification notif2 = new WearableNotifications.Builder(builder)
.setGroup(GROUP_KEY_EMAILS)
.build(); notificationManager.notify(notificationId2, notif);
默认情况。通知的显示顺序由你的加入顺序决定,近期加入的通知将会出如今最顶部。你也能够为通知在栈中指定一个序号,仅仅要你将序号作为setGroup()方法的第二个參数传递进去。
Add a Summary Notification(加入一条摘要通知)
在手持设备上保持提供一条摘要通知是相当重要的。
因此。除了将每一条通知加入到同样的栈中之外,还要加入一条摘要通知到栈中,仅仅只是要把摘要通知的序号设置为GROUP_ORDER_SUMMARY。
这条摘要通知不会出如今穿戴设备上的通知栈中。可是会作为一条通知出如今手持设备上。
Bitmap largeIcon = BitmapFactory.decodeResource(getResources(),
R.drawable.ic_large_icon); builder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_small_icon)
.setLargeIcon(largeIcon); // Use the same group key and pass this builder to InboxStyle notification
WearableNotifications.Builder wearableBuilder = new WearableNotifications
.Builder(builder)
.setGroup(GROUP_KEY_EMAILS,
WearableNotifications.GROUP_ORDER_SUMMARY); // Build the final notification to show on the handset
Notification summaryNotification = new NotificationCompat.InboxStyle(
wearableBuilder.getCompatBuilder())
.addLine("Alex Faaborg Check this out")
.addLine("Jeff Chang Launch Party")
.setBigContentTitle("2 new messages")
.setSummaryText("johndoe@gmail.com")
.build(); notificationManager.notify(notificationId3, summaryNotification);
这条通知使用了NotificationCompat.InboxStyle。它提供了一种为邮件或者信息类应用程序创建通知的简单方法。你能够採用这样的风格,而其他的通知使用NotificationCompat来定义。当然你也能够全然不是用这样的风格来定义摘要通知。
提示:定义相似截图中的文字风格,能够參考Styling with HTML markup和Styling with Spannables.
Android Wear Preview- 归档通知(Stacking Notifications)的更多相关文章
- Android Wear开发 - 卡片通知 - 第一节 : 添加Android Wear通知特性
一. 前言说明 Android Wear大部分显示形式是卡片的形式,而最简单地支持Android Wear方式就是用通知**Notification**.而实现最简单的,非高度自定义的通知,则只需要在 ...
- Android Wear开发 - 卡片通知 - 第二节 : 自定义Wear卡片样式
一.前言说明 在上一节添加Android Wear通知特性我们实现了简单的Android Wear卡片拓展,但是默认提供给我们的多张卡片只能实现简单的文字展示,如果想要自定义布局,添加图片等等,则需要 ...
- Android Wear创建一个通知
创建Android Wear的通知实际上和手机上创建没啥区别,主要是多了几个新类,只要用熟悉了一切都好办了.(如果只是测试通知,则直接运行wear app就能够看到效果) 创建一个简单的wear通知分 ...
- [翻译]Android官方文档 - 通知(Notifications)
翻译的好辛苦,有些地方也不太理解什么意思,如果有误,还请大神指正. 官方文档地址:http://developer.android.com/guide/topics/ui/notifiers/noti ...
- android wear开发之:增加可穿戴设备功能到通知中 - Adding Wearable Features to Notifications
注:本文内容来自:https://developer.android.com/training/wearables/notifications/index.html 翻译水平有限,如有疏漏,欢迎批评指 ...
- Android Wear预览版——尝鲜
前两天Google推出了Android Wear的SDK,稍稍的瞧了一眼,发现这个预览版的功能还是比较简单的,只有一个通知转发的功能,不过就这么一个功能,带来的效果却是Very Good~~ 功能:发 ...
- Android Wear之android穿戴式设备应用开发平台
Android Wear于2014年03月19日公布,并有Moto 360和LG watch两款产品. 眼下源代码还没有开放.可是开发人员能够下载它的Image及相应的开发SDK,这样开发人员通过模拟 ...
- Android Wear开发者预览配置过程
第一步Android SDK Manager 中 1.升级Android SDK Tools到22.6+版本2.Android 4.4.2 下 安装 Android Wear ARM EABI v7a ...
- 如何开发Android Wear应用程序
Android Wear是连接安卓手机和可穿戴产品的一个平台.自从今年上半年发布以来,Android Wear获得了大量关注,既有来自消费者的关注,也有来自开发商的关注,后者希望自己的应用程序已经准备 ...
随机推荐
- hadoop集群虚拟机配置
hadoop_1, hadoop_2, hadoop_3 用户名riluo 密码19841984 查看Linux自带的JDK是否已安装 (卸载centOS已安装的1.4) 安装好的CentOS会自带O ...
- Maven + Eclipse + Tomcat - 开启项目调试之旅(转载)
本文的读者需要拥有一些Maven基础知识和实践,如果没有,请直接绕过或者先看一些关于Maven教程,比如Juven翻译的<Maven权威指南>,google一下便知. 开门见山,首先抛出一 ...
- Java 发送邮件工具包---未完待续
开头先来介绍一片好文章: http://blog.itpub.net/15182208/viewspace-730172/
- python标准库介绍——25 errno 模块详解
==errno 模块== ``errno`` 模块定义了许多的符号错误码, 比如 ``ENOENT`` ("没有该目录入口") 以及 ``EPERM`` ("权限被拒绝& ...
- python标准库介绍——10 sys 模块详解
==sys 模块== ``sys`` 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分. === 处理命令行参数=== 在解释器启动后, ``argv`` 列表包含了传递给脚本的所有 ...
- php将session保存到数据库的类实例(php版本需要大于5.4)
这里实现了一个把session存储到数据库的类,包括数据表的创建.类的使用.php的配置. 可以更好地进行用户控制管理. 做项目的时候,有一个需求,是要实现禁止一个账号两处登录.同时要统计当前在线用户 ...
- java Webservice(一)HttpClient使用(一)
1.拳头之Get/Post拳头是最基本的一重武器,也是最重要的,好比练武之人必须先扎稳马步. java 代码 HttpClient httpclient=new HttpClient();//创建一个 ...
- Android-Bug:RecyclerView的item不能横向充满的问题
在使用 RecyclerView 的时候,出现了 item 不能横向充满屏幕的问题, 如下图所示: 解决办法:发现是在使用 Adapter 的时候,在 onCreateViewHolder() 方法的 ...
- man-pages项目包含文档的说明
man-pages项目是由linux kernel维护的一个文档项目,但是,该项目中只是包含了部分常用文档,还有大量gnu常用系统工具的manpanges没有包含,但一些在线网站提供一个详细版本的ma ...
- SVN 版本服务器搭配全过程详解(含服务端、客户端)
1.为什么要用VisualSVN Server,而不用Subversion? 回答: 因为如果直接使用Subversion,那么在Windows 系统上,要想让它随系统启动,就要封装SVN Serve ...