`
que2010
  • 浏览: 73606 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

【转】Notification 详解

阅读更多

转自:http://www.microdu.com/thread-14329-1-1.html

 

    当用户有没有接到的电话的时候,Android顶部状态栏里就会出现一个小图标。提示用户有没有处理的快讯,当拖动状态栏时,可以查看这些快讯。Android给我们提供了NotificationManager来管理这个状态栏。可以很轻松的完成。
    如果要添加一个Notification,可以按照以下几个步骤

1:获取NotificationManager:

NotificationManager m_NotificationManager=(NotificationManager)
this.getSystemService(NOTIFICATION_SERVICE);

2:定义一个Notification:

Notification  m_Notification=new Notification();

3:设置Notification的各种属性

//设置通知在状态栏显示的图标
m_Notification.icon=R.drawable.icon;
                
//设置通知在状态栏显示的内容
m_Notification.tickerText="Button1 通知内容.....";
                                
通知时发出的默认声音
m_Notification.defaults=Notification.DEFAULT_SOUND;

//设置通知显示的参数

Intent   m_Intent=new Intent(NotificationDemo.this,DesActivity.class);       
PendingIntent m_PendingIntent=PendingIntent.getActivity(NotificationDemo.this, 0, m_Intent, 0);

m_Notification.setLatestEventInfo(NotificationDemo.this, "Button1", "Button1通知",m_PendingIntent );

//这个可以理解为开始执行这个通知
m_NotificationManager.notify(0,m_Notification);

4:既然可以增加同样我们也可以删除。当然是只是删除你自己增加的。

m_NotificationManager.cancel(0);

这里的0是一个ID号码,和notify第一个参数0一样。
这也就完成了,添加删除工作。

 

下面介绍一下上面所使用到的Notification和NotificationManager这两个类

NotificationManager(通知管理器):
NotificationManager负责通知用户事件的发生。
NotificationManager有三个公共方法:
1). cancel(int id) 取消以前显示的一个通知.假如是一个短暂的通知,试图将隐藏,假如是一个持久的通知,将从状态条中移走。
2). cancelAll() 取消以前显示的所有通知。
3). notify(int id,  Notification notification) 把通知持久的发送到状态条上。

//初始化NotificationManager示例: 
NotificationManager nm = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); 

 

 

Notification代表着一个通知.
Notification的属性:
audioStreamType——当声音响起时,所用的音频流的类型
contentIntent——当通知条目被点击,就执行这个被设置的Intent.
contentView——当通知被显示在状态条上的时候,同时这个被设置的视图被显示.
defaults——指定哪个值要被设置成默认的.
deleteIntent——当用户点击"Clear All Notifications"按钮区删除所有的通知的时候,这个被设置的Intent被执行.
icon——状态条所用的图片.
iconLevel——假如状态条的图片有几个级别,就设置这里.
ledARGB——LED灯的颜色.
ledOffMS——LED关闭时的闪光时间(以毫秒计算)
ledOnMS——LED开始时的闪光时间(以毫秒计算)
number——这个通知代表事件的号码
sound——通知的声音
tickerText——通知被显示在状态条时,所显示的信息
vibrate——振动模式.
when——通知的时间戳.

//将Notification发送到状态条上: 
Notification notification = new Notification(); 
//Notification的设置过程……
nm.notify(0, notification);   //发送到状态条上

 

 

Notification提供了丰富的手机提示方式:

a)在状态栏(Status Bar)显示的通知文本提示,如:

notification.tickerText = "hello";

b)发出提示音,如:

notification.defaults |= Notification.DEFAULT_SOUND; 

notification.sound = Uri.parse("file:///sdcard/notification/ringer.mp3"); 

notification.sound = Uri.withAppendedPath(Audio.Media.INTERNAL_CONTENT_URI, "6"); 

c)手机振动,如:

notification.defaults |= Notification.DEFAULT_VIBRATE; 

long[] vibrate = {0,100,200,300}; 

notification.vibrate = vibrate; 

d)LED灯闪烁,如:

notification.defaults |= Notification.DEFAULT_LIGHTS; 

notification.ledARGB = 0xff00ff00; 

notification.ledOnMS = 300; 

notification.ledOffMS = 1000; 

notification.flags |= Notification.FLAG_SHOW_LIGHTS; 

 

 

通知的更新
如果需要更新一个通知,只需要在设置好notification之后,再调用setLatestEventInfo,然后重新发送一次通知即可。

 

分享到:
评论
1 楼 xiong_biao 2012-02-09  
学习...........

相关推荐

    android Notification详解

    BarManagerService 中对 Notification 的封装,它包含了 Notification 的所有信息以及一些额外的状态,例如通知是否被用户阅读等。 Notification 功能 Notification 在 Android 系统中扮演着关键的角色,主要功能...

    android 通知Notification详解及实例代码

    Notification是Android系统提供的一种机制,用于在状态栏中显示信息,即使应用不在前台也能吸引用户的注意力。下面我们将详细讲解Android通知Notification,并给出实例代码。 1. **创建Notification** 创建...

    notification详解

    Notification是Android系统中用于向用户显示提醒的一种重要机制。它允许应用程序即使在后台运行或未启动的情况下,也能向用户传达重要信息。Notification类是构建和管理这些通知的核心组件,而Notification.Builder...

    Notification 使用详解(很全)

    Notification 在 Android 系统中扮演着重要的角色,它允许应用程序在不干扰用户当前活动的情况下向用户发送消息或提醒。当有新的通知时,Android 会在顶部状态栏显示一个小图标,用户可以通过下拉状态栏来查看和交互...

    Android编程开发之NotiFication用法详解

    在Android编程中,Notification是应用与用户交互的重要方式,即使应用在后台运行或者完全关闭,也能提醒用户有新的事件需要处理。本篇文章将深入讲解Notification的用法,包括它的功能、使用技巧以及注意事项。 ...

    Notification详解

    Notification安卓手机通知栏的常见到,该demo包含系统默认样式通知以及自定义样式的通知,能自定义要多炫自己就可以随心布局修改;具体请参考http://blog.csdn.net/daitu_liang/article/details/50246803

    Notification案例详解

    Notification是Android系统中一个重要的组件,它允许应用在用户不直接与应用交互时提供信息。在Android开发中,Notification的合理使用能提升用户体验,让用户即使在后台也能了解应用的状态和新消息。本篇将深入讲解...

    Notification使用详解之一:基础应用

    在消息通知时,我们经常用到两个组件Toast和Notification。特别是重要的和需要长时间显示的信息,用Notification就最合适不过了。当有消息通知时,状态栏会显示通知的图标和文字,通过下拉状态...

    android notification完全解析Demo

    在Android开发中,Notification是应用与用户交互的重要方式,它能够在状态栏中显示信息,即使用户不在应用程序中也能提醒用户有新的活动或消息。本文将深入解析Android Notification的工作原理、设计模式以及如何...

    Notification用法详解,包含自定义视图

    在Android开发中,Notification是一种非常重要的组件,它用于在用户界面之外向用户显示信息,即使应用在后台运行或用户没有直接与应用交互时也能提醒用户。本篇文章将深入讲解Notification的使用方法,包括如何创建...

    详解Android中Notification通知提醒

    在Android开发中,Notification是一种非常重要的机制,它用于在用户不直接与应用交互时向他们传达信息。当应用需要在后台告知用户某些事件的发生,如收到新消息、更新或者完成任务,Notification会在状态栏上显示...

    iphone notification机制导读

    ### iPhone Notification机制详解 #### 一、引言 在iPhone应用程序开发中,Notification(通知)是一种重要的机制,用于实现对象间的解耦通信。通过发送和接收通知,不同的组件可以响应应用内的事件变化,从而实现...

    Android Notification使用方法详解

    在Android开发中,Notification是应用与用户交互的重要方式,它可以在状态栏中显示信息,即使应用不在前台运行也能提醒用户。本篇文章将详细介绍如何在Android 4.0及以上版本中使用Notification,以及如何处理兼容性...

    Android Notification 使用方法详解

    Android Notification 使用方法详解 Android Notification 是 Android 系统中的一种重要组件,用于向用户显示重要信息和提示。Android Notification 使用方法详解中,我们将介绍如何使用 Android Notification ...

    Android 5.X 新特性详解(五)——Notification

    Google在Android 5.0 上又进一步改进了通知栏,优化了Notification。当长按Notification的时候,会显示消息来源。Notification会有一个从白色到灰色的动画切换效果,最终显示发出这个Notification的调用者。同时,在...

    Android开发之Notification通知用法详解

    本文实例讲述了Android开发之Notification通知用法。分享给大家供大家参考,具体如下: 根据activity的生命周期,在activity不显示时,会执行onStop函数(比如按下home键),所以你在onStop函数(按退出键除外)里面把...

    RFC8538 Notification Message Support for BGP Graceful Restart

    ### 知识点详解 #### 一、BGP Graceful Restart机制概述 **BGP Graceful Restart**(优雅重启)是一种使边界网关协议(BGP)能够在路由器重启时保持部分连接状态的方法,从而减少对网络的影响。在**RFC4724**中...

Global site tag (gtag.js) - Google Analytics