`
kerlubasola
  • 浏览: 709806 次
文章分类
社区版块
存档分类
最新评论

创建和触发Notification

 
阅读更多

创建Notification

创建和配置新的Notification需要经历三步。

首先,你要创建一个新的Notification对象,传入要在状态条上显示的图标、文字和Notification的当前时间,如下面的代码片段所示:

// Choose a drawable to display as the status bar icon

int icon = R.drawable.icon;

// Text to display in the status bar when the notification is launched

String tickerText = “Notification”;

// The extended status bar orders notification in time order

long when = System.currentTimeMillis();

Notification notification = new Notification(icon, tickerText, when);

Notification触发时,文本将沿着状态条进行滚动显示。

其次,使用setLatestEventInfo方法来配置Notification在扩展的状态窗口中的外观。扩展的状态窗口将显示图标和在构造函数中传入的时间,以及显示标题和一个详细的字符串。Notification一般表示为对一个动作的请求或引起用户的注意,所以,当用户点击Notification项目时你可以指定一个PendingIntent来触发。

下面的代码片段使用了setLastestEventInfo来设置这些值:

Context context = getApplicationContext();

// Text to display in the extended status window

String expandedText = “Extended status text”;

// Title for the expanded status

String expandedTitle = “Notification Title”;

// Intent to launch an activity when the extended text is clicked

Intent intent = new Intent(this, MyActivity.class);

PendingIntent launchIntent = PendingIntent.getActivity(context, 0, intent, 0);

notification.setLatestEventInfo(context, expandedTitle, expandedText, launchIntent);

一个好的形式是显示相同事件(例如,接收多个SMS消息)的多个对象时使用一个Notification图标。为了呈现给用户,使用setLastestEventInfo更新数据集来呈现最近的消息以及重新触发Notification来更新它的值。

你还可以使用number属性来显示一个状态条图标所表示的事件数目。

设置为比1大的数,如下所示,将在状态条图标上以一个小小的数字进行显示:

notification.number++;

任何对Notification的变更,你都需要重新触发来进行更新。如果要删除这个数字,设置number的值为0或者-1

最后,你可以对Notification对象使用多种属性来增强Notification的效果,如闪烁LED、震动电话和播放音乐文件。这些高级特征将在本章的后面部分进行详细描述。

触发Notification

为了触发一个Notification,使用NotificationManagernotify方法,将一个整数的IDNotification对象传入,如下的片段所示:

int notificationRef = 1;

notificationManager.notify(notificationRef, notification);

为了更新一个已经触发过的Notification,传入相同的ID。你既可以传入相同的Notification对象,也可以是一个全新的对象。只要ID相同,新的Notification对象会替换状态条 图标和扩展的状态窗口的细节。

你还可以使用ID来取消Notification,通过调用NotificationManagercancel方法,如下所示:

notificationManager.cancel(notificationRef);

取消一个Notification时,将移除它的状态条图标以及清除在扩展的状态窗口中的信息。

分享到:
评论

相关推荐

    Android-json2notification-一个多功能方便好用的notification通知栏通知开源库

    `json2notification`是一个针对Android平台的开源库,专为简化创建和管理Notification而设计。这个库提供了一种灵活的方式,通过JSON格式的数据来构建和定制各种Notification,极大地提高了开发效率。 首先,让我们...

    Notification示例

    本示例着重讲解了如何创建和使用不同类型的Notification,包括普通Notification、折叠式Notification以及悬挂式Notification,并涉及到Notification的显示等级设置。 1. **普通Notification**: 这是最基础的...

    android notification完全解析Demo

    这个Demo将展示如何创建一个包含标题、内容、图标以及操作的Notification,并在用户点击时触发相应的行为。 通过以上步骤,开发者可以创建出丰富多样的Notification,满足各种应用场景的需求。在实际开发中,还需...

    notification各种使用

    在某些场景下,我们可能希望在特定事件(如接收到特定广播)时触发Notification。为此,可以创建一个BroadcastReceiver并注册它来监听特定的Intent。当接收到匹配的广播时,BroadcastReceiver的`onReceive()`方法会...

    Notification的示例源码

    它可能包括一个主活动中触发通知的按钮,以及相应的点击事件处理,用来创建并发布`Notification`。 综上所述,`Notification`是Android应用与用户交互的重要方式,理解和正确使用`Notification`能够提升用户体验。...

    android Notification使用大全

    在Android系统中,Notification是应用与...通过自定义样式、创建通知渠道和利用高级功能,开发者可以创建出更具吸引力和实用性的通知。对于“HZNotification”,则需要进一步研究其特性和用法,以充分利用其潜在优势。

    NotificationDemo

    NotificationDemo是一个专门用于演示如何创建和管理通知的示例项目,通过这个项目,我们可以深入学习Android的通知机制。 首先,我们要了解`Notification`的基本结构。一个`Notification`通常包含标题(title)、...

    Notification小例子

    "Notification小例子"是针对这一主题的一个示例项目,旨在帮助开发者了解并掌握如何在Android平台上创建和管理Notification。 Notification的基本结构包括以下几个部分: 1. **通知频道(Notification Channel)**...

    安卓消息推送通知栏相关-Eclipse的关于通知notification的小应用源码有注释供参考.rar

    Android的通知机制是通过Notification类来实现的,它允许开发者在系统通知栏创建和管理通知。开发者需要构建一个Notification对象,并设置相应的属性,如图标、标题、文本等,然后通过NotificationManager发出这个...

    notification 、tabbar和navigation综合使用

    在iOS应用开发中,`Notification`(通知)、`TabBar`(标签栏)和`Navigation`(导航)是三个至关重要的组件,它们共同构建了用户界面的基础架构,提供了优秀的用户体验。下面将详细介绍这三个组件以及它们在实际...

    Android开发中的Notification应用

    本实例详细探讨了如何应用Notification,包括其创建、属性设置、触发动作以及如何清除。 首先,创建一个Notification需要通过Notification.Builder类来实现。Builder提供了一种构建复杂Notification的方便方式。...

    android Notification 例子

    本教程将深入讲解如何在Android中创建和使用Notification,并提供源码示例。 首先,我们需要了解Notification的基本结构。一个Notification通常包括以下组件: 1. **通知标题(title)**:简短地概述通知的主要...

    Notification用法

    这个项目可能包含了一个主活动(MainActivity),用于触发通知,一个通知服务(NotificationService)用于生成和发送通知,以及可能的布局XML文件(如custom_notification.xml)用于自定义通知的视图。通过学习和...

    Android notification+Service实时更新

    开发者可以通过`NotificationManager`创建并发送`Notification`,将其显示在状态栏。`Notification`可以包含标题、内容、图标以及操作按钮,使得用户即使在应用未打开的情况下也能了解应用的活动情况。在本项目中,`...

    Notification.Builder通知demo

    `Notification.Builder`是创建和定制`Notification`对象的工具类,提供了丰富的接口来设置通知的各种属性。下面我们将深入探讨`Notification.Builder`的使用及其相关知识点。 1. **创建基础通知** 创建一个基础的`...

    Android实现Notification的通知栏常驻.zip

    总结来说,创建一个常驻通知栏的Notification涉及创建通道、构建并设置Notification,以及正确管理和响应用户的交互。开发者应谨慎处理常驻通知,确保它们为用户提供价值,同时避免干扰用户的正常体验。在遵循最佳...

    自定义Notification样例工程

    总结一下,这个“自定义Notification样例工程”涵盖了创建通知的基础,自定义样式,内容更新以及点击事件处理,是Android开发者提升通知功能的实用教程。通过学习和实践,开发者能够掌握如何使应用的通知更加个性化...

    NotificationDemo,类似QQ图标实现,

    6. **Intent和PendingIntent**:在`Notification`中,`PendingIntent`用于在用户点击通知时触发一个动作,如打开特定的Activity。开发者需要理解如何创建和使用`PendingIntent`来连接`Notification`与应用的行为。 ...

    Notification简单示例

    Notification简单示例通常是为了展示如何创建、配置和显示一个基本的通知。 1. **Notification的结构**: Notification由三部分组成:通知头部(Headline)、内容视图(Content View)和操作(Actions)。头部通常...

    详解Android中Notification通知提醒

    在本文中,我们将深入探讨如何在Android中创建和使用Notification,以及如何实现普通通知和自定义视图通知。 首先,创建一个Notification需要以下步骤: 1. 创建Notification.Builder对象:这是构建Notification的...

Global site tag (gtag.js) - Google Analytics