Android 状态栏通知Notification、NotificationManager 学习

 先来区分以下状态栏和状态条的区别:
 
    1、状态条就是手机屏幕最上方的一个条形状的区域;
 
          在状态条有好多信息量:比如usb连接图标,手机信号图标,电池电量图标,时间图标等等;
 
    2、状态栏就是手从状态条滑下来的可以伸缩的view;
 
          在状态栏中一般有两类(使用FLAG_标记):
 
          (1)正在进行的程序;
 
          (2)是通知事件; 

其中,正在进行的程序,点击清除,清除不了状态,通知可以被清除。

Android中在状态栏中通知用到的两个类:Notification、NotificationManager

 NotificationManager: 是状态栏通知的管理类,负责发送通知、清除通知等。

Notification是具体的状态栏通知对象,可以设置icon、文字、提示声音、振动等等参数。


第一步:

NotificationManager 是一个系统Service,必须通过 getSystemService()方法来获取。

 如:notificationManager= (NotificationManager)
getSystemService(Context.NOTIFICATION_SERVICE);

第二步:

对Notification的一些属性进行设置比如:内容,图标,标题,相应notification的动作进行处理等等;




01.notification.icon = R.drawable.ic_launcher;// 设置通知的图标  

02.notification.tickerText = tickerText; // 显示在状态栏中的文字  

03.notification.when = when; // 设置来通知时的时间  

04.notification.sound = Uri.parse("android.resource://com.sun.alex/raw/dida"); // 自定义声音  

05.notification.flags = Notification.FLAG_NO_CLEAR; // 点击清除按钮时就会清除消息通知,但是点击通知栏的通知时不会消失  

06.notification.flags = Notification.FLAG_ONGOING_EVENT; // 点击清除按钮不会清除消息通知,可以用来表示在正在运行  

07.notification.flags |= Notification.FLAG_AUTO_CANCEL; // 点击清除按钮或点击通知后会自动消失  

08.notification.flags |= Notification.FLAG_INSISTENT; // 一直进行,比如音乐一直播放,知道用户响应  

09.notification.defaults = Notification.DEFAULT_SOUND; // 调用系统自带声音  

10.notification.defaults = Notification.DEFAULT_VIBRATE;// 设置默认震动  

11.notification.defaults = Notification.DEFAULT_ALL; // 设置铃声震动  

12.notification.defaults = Notification.DEFAULT_ALL; // 把所有的属性设置成默认

第三步:通过NotificationManager对象的notify()方法来执行一个notification的消息;
1.nManager.notify(ID, notification);
第四步:通过NotificationManager对象的cancel()方法来取消一个notificatioin的消息
1.nManager.cancel(ID);
 


Notification.build构造Notification方法介绍:   
     void setLatestEventInfo(Context context , CharSequencecontentTitle,CharSequence  contentText,PendingIntent contentIntent)  
        功能: 显示在拉伸状态栏中的Notification属性,点击后将发送PendingIntent对象

        参数:    context              上下文环境

                      contentTitle       状态栏中的大标题
 
                      contentText       状态栏中的小标题
 
                      contentIntent    点击后将发送PendingIntent对象
 
      说明:要是在Notification中加入图标,在状态栏和状态条中显示图标一定要用这个方法,否则报错!


NotificationManager常用方法介绍:
   public  void cancelAll()                                                          移除所有通知 (只是针对当前Context下的Notification)
  public  void cancel(int id)                                                      移除标记为id的通知 (只是针对当前Context下的所有

Notification)
 
public  void notify(String tag ,int id, Notification notification) 将通知加入状态栏, 标签为tag,标记为id
 
public  void notify(int id, Notification notification)                   将通知加入状态栏,,标记为id


设置其他如,震动、闪光灯参考:http://blog.csdn.net/yakedar/article/details/9474399

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值