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获得了大量关注,既有来自消费者的关注,也有来自开发商的关注,后者希望自己的应用程序已经准备 ...
随机推荐
- C#抽象方法
在覆盖父类的方法时,必须显式说明是在覆盖父类方法,否则相当于没有覆盖. class Animal { public void run() { Console.WriteLine("anima ...
- 有效Log4j按指定级别定向输出日志到指定的输出文件地址配置Threshold,log4j中如何屏蔽父logger输出源rootlogger的additivity配置,log4j向多个文件记录日志
log4j向多个文件记录日志 关键配置,指定想要的日志级别信息输出到指定的日志文件中: log4j.appender.errorLogger.Threshold=ERROR #扩展,可指定只在子类自己 ...
- 制作IOS 后台极光推送时,遇到的小问题
推送广义上分为两种, 一种是 程序在前台的时候,不想在任务栏里面显示通知,直接在app中进行某种操作.这个叫做自定义消息.这个是在前台时,app与极光后台建立了一个长链接. 另一种是 程序处于前. ...
- 【jQuery】将form表单通过ajax实现无刷新提交
//将form转换为AJAX提交 function ajaxSubmit(url,frm,fn){ var dataPara=getFormJson(frm); $.ajax({ url:url, t ...
- 转Jmeter报告优化之New XSL stylesheet
Jmeter默认的报告展示的信息比较少,如果出错了,不是很方便定位问题.由Jmeter默认报告优化这篇文章可知,其实由.jtl格式转换为.html格式的报告过程中,style文件起了很关键的作用.下面 ...
- hdu 1853 Cyclic Tour 最大权值匹配 全部点连成环的最小边权和
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1853 Cyclic Tour Time Limit: 1000/1000 MS (Java/Others) ...
- 关于阿里云centos 2.6下手机表情输入后无法保存到mysql数据库的问题调研及mysql版本从5.1升级到5.7的全过程纪要
近日在开发手机app的评论功能时,输入表情文字,保存后提示数据库保存失败.错误日志片段如下 caused by: java.sql.SQLException: Incorrect string val ...
- Python ceil() 函数
描述 ceil(x) 函数返回一个大于或等于 x 的的最小整数(向上取整). 语法 以下是 ceil() 方法的语法: import math math.ceil( x ) 注意:ceil()是不能直 ...
- java Web服务实现方案(REST+SOAP+XML-RPC)简述及比较
目前知道的三种主流的Web服务实现方案为:REST:表象化状态转变 (软件架构风格)SOAP:简单对象访问协议 XML-RPC:远程过程调用协议 下面分别作简单介绍: REST:表征状态转移(Repr ...
- HDU 4968 Improving the GPA(dp)
HDU 4968 Improving the GPA 题目链接 dp.最大最小分别dp一次,dp[i][j]表示第i个人,还有j分的情况,分数能够减掉60最为状态 代码: #include <c ...