android通知栏点击传递数据,Android学习笔记10:状态通知栏 Notification

1.  NotificationManager 和 Notification

在Android系统中,发一个状态栏通知还是很方便的。下面我们就来看一下,怎么发送状态栏通知,状态栏通知又有哪些参数可以设置? 首先,发送一个状态栏通知必须用到两个类:NotificationManager、Notification。

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

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

NotificationManagernm=(NotificationManager)getSystemService(NOTIFICATION_SERVICE);

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

2. 用法 :

第一步 创建 NotificationManager

NotificationManagernm=(NotificationManager)getSystemService(NOTIFICATION_SERVICE);

第二步 设置Notification

//新建状态栏通知

baseNF=newNotification();

//设置通知在状态栏显示的图标

baseNF.icon=R.drawable.icon;

//通知时在状态栏显示的内容

baseNF.tickerText="YouclickedBaseNF!";

//通知的默认参数DEFAULT_SOUND,DEFAULT_VIBRATE,DEFAULT_LIGHTS.

//如果要全部采用默认值,用DEFAULT_ALL.

//此处采用默认声音

baseNF.defaults=Notification.DEFAULT_SOUND;

//第二个参数:下拉状态栏时显示的消息标题expandedmessagetitle

//第三个参数:下拉状态栏时显示的消息内容expandedmessagetext

//第四个参数:点击该通知时执行页面跳转

baseNF.setLatestEventInfo(Lesson_10.this,"Title01","Content01",pd);

其中 pd 是一个pendingIntent,它是怎么来的 :

//点击通知时转移内容

m_Intent = new Intent(Activity01.this, Activity02.class);

//主要是设置点击通知时显示内容的类

m_PendingIntent = PendingIntent.getActivity(Activity01.this, 0, m_Intent, 0);

第三步  发出状态栏通知

nm.notify(Notification_ID_BASE,baseNF);

3. intnet 和 pendingIntent

intent英文意思是意图,pending表示即将发生或来临的事情。 PendingIntent这个类用于处理即将发生的事情。比如在通知Notification中用于跳转页面,但不是马上跳转。 Intent 是及时启动,intent 随所在的activity 消失而消失。 PendingIntent 可以看作是对intent的包装,通常通过getActivity,getBroadcast ,getService来得到pendingintent的实例,当前activity并不能马上启动它所包含的intent,而是在外部执行 pendingintent时,调用intent的。正由于pendingintent中 保存有当前App的Context,使它赋予外部App一种能力,使得外部App可以如同当前App一样的执行pendingintent里的 Intent, 就算在执行时当前App已经不存在了,也能通过存在pendingintent里的Context照样执行Intent。另外还可以处理intent执行后的操作。常和alermanger 和notificationmanager一起使用。 Intent一般是用作Activity、Sercvice、BroadcastReceiver之间传递数据,而Pendingintent,一般用在 Notification上,可以理解为延迟执行的intent,PendingIntent是对Intent一个包装。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值