Android Wear - 归档通知(Stacking Notifications)

原文地址:http://developer.android.com/wear/notifications/stacks.html

前言

当在手持设备上创建通知的时候,你应该经常将一些类似的通知归并到一个单一的摘要通知中。比如,如果你的应用接收到信息后会创建通知,你不应该在手持设备上创建多条通知。当接收到多条信息的时候,你应该使用一条单一的通知并显示类似“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("[email protected]")
        .build();

notificationManager.notify(notificationId3, summaryNotification);

这条通知使用了NotificationCompat.InboxStyle,它提供了一种为邮件或者信息类应用程序创建通知的简单方法。你可以采用这种风格,而其它的通知使用NotificationCompat来定义,当然你也可以完全不是用这种风格来定义摘要通知。

提示:定义类似截图中的文字风格,可以参考Styling with HTML markupStyling
with Spannables
.

Android Wear - 归档通知(Stacking Notifications),布布扣,bubuko.com

时间: 2024-08-25 02:55:56

Android Wear - 归档通知(Stacking Notifications)的相关文章

android wear开发之:增加可穿戴设备功能到通知中 - Adding Wearable Features to Notifications

注:本文内容来自:https://developer.android.com/training/wearables/notifications/index.html 翻译水平有限,如有疏漏,欢迎批评指教. 译:山人 增加可穿戴设备功能到通知中 Adding Wearable Features to Notifications When an Android handheld (phone or tablet) and Android wearable are connected, the han

Android Wear创建一个通知

创建Android Wear的通知实际上和手机上创建没啥区别,主要是多了几个新类,只要用熟悉了一切都好办了.(如果只是测试通知,则直接运行wear app就能够看到效果) 创建一个简单的wear通知分为3步: 一.创建一个Intent用于设置你要做的动作 二.创建一个PendingIntent把Intent放进去(主要是根据intent传入的内容做跳转动作) 三.创建一个NotificationCompat.Builder用于设置通知内容,例如:将PendingIntent传递进去用于actio

Android Wear开发 - 卡片通知 - 第一节 : 添加Android Wear通知特性

一. 前言说明 Android Wear大部分显示形式是卡片的形式,而最简单地支持Android Wear方式就是用通知**Notification**.而实现最简单的,非高度自定义的通知,则只需要在手机端做一些处理,不需要进行手表端应用的开发,可以说是开发成本特别低. 本节主要讲解的就是简单的Wear特色卡片通知. 二. 环境配置 工程引用新版的Support-V4. 使用到的主要有以下3个类. import android.support.v4.app.NotificationCompat;

Android Wear开发 - 卡片通知 - 第二节 : 自定义Wear卡片样式

一.前言说明 在上一节添加Android Wear通知特性我们实现了简单的Android Wear卡片拓展,但是默认提供给我们的多张卡片只能实现简单的文字展示,如果想要自定义布局,添加图片等等,则需要本节的知识. 二. 环境配置 代码配置与上一节没区别 若用Wear模拟器进行开发,必须要注意配置,必须将Use Host GPU打钩,否则,动态自定义的卡片会显示不了,变成黑色的一块块,上图. 三. 自定义卡片 效果图 图1~4卡片展示:可设置卡片高度,可调整显示内容的样式 图5卡片展示:可实现动画

Android Wear 开发入门——如何创建一个手机与可穿戴设备关联的通知(Notification)

创建通知 为了创建在手机与可穿戴设备中都能展现的通知,可以使用 NotificationCompat.Builder.通过该类创建的通知,系统会处理该通知是否展现在手机或者穿戴设备中. 导入必要的类库 在开发之前首先需要导入以下类库 importandroid.support.v4.app.NotificationCompat; importandroid.support.v4.app.NotificationManagerCompat; importandroid.support.v4.app

Android Wear - App Structure for Android Wear(应用结构)

原文地址:http://developer.android.com/design/wear/structure.html 用户习惯于点击图标来启动应用程序,但是Android Wear不一样.一个典型的Wear应用程序会在一个情境的合适时刻插入一张卡片到信息流中.这张卡片可能会包含一个用于快速交互的按钮来打开一个全屏视图(在一些情况下,卡片也可能不会提供交互按钮): 以下是简单排序的构建模块.你可以使用其中的一个或者多个模块,但是我们强烈推荐不要构建这样的应用:用户在启动或者退出应用之前必须仔细

IDEA搭建Android wear开发环境,Android wear,I'm comming!

随着google发布了android wear这个东西,然后又有了三星的gear,LG的G watch以及moto 360,苹果由发布了apple watch,未来可能在智能手表行业又有一场战争.当然这只是笔者的个人观点,仅供参考. 作为开发者,当然关心的是只能手表的开发了,所以我们来搭建一下android wear的开发环境吧! 搭建android wear开发环境,我们需要以下的软件Intellij 13.1.3,android-sdk 23.0.02. 首先需要下载安装好android-s

Android Notification自定义通知样式你要知道的事

本文将根据个人经验对Notification做个总结,以供参考! 什么是通知(Notification) 通知是一个可以在应用程序正常的用户界面之外显示给用户的消息. 通知发出时,它首先出现在状态栏的通知区域中,用户打开通知抽屉可查看通知详情.通知区域和通知抽屉都是用户可以随时查看的系统控制区域. 作为安卓用户界面的重要组成部分,通知有自己的设计指南.在Android 5.0(API level 21)中引入的 Material Design 的变化是特别重要的,更多信息请阅读 通知设计指南.

浏览器桌面通知(notifications)

近期在做公司后台管理系统,当有任务到来时,须要通知当事人,可是 当事人有可能在做别的,浏览器有可能会被最小化,这样就非常难看到通知了.经过查找发现有些浏览器能够使用noitfications.能够在桌面的通知区域内显示一个提示框,而且显示在桌面的最前面,非常方便就能看到了.我就将它简单的封装一下,使其符合经常使用的使用场景. 功能效果类似webQQ的消息提示通知. 项目地址:https://github.com/rentiansheng/notification chrome 浏览器桌面通知 简