android通知小结
有时候要让我们发的通知不被用户清除,这就需要将通知加入正在运行的组中。具体实现如下:
notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
Intent actClick=new Intent("com.zwq.test");//定义广播的动作。
pendIntent= PendingIntent.getBroadcast(this, 0, actClick, 0);
notification = new Notification();
notification.flags |= Notification.FLAG_ONGOING_EVENT; // 将此通知放到通知栏的"Ongoing"即"正在运行"组中
notification.flags |= Notification.FLAG_NO_CLEAR; // 表明在点击了通知栏中的"清除通知"后,此通知不清除,经常与FLAG_ONGOING_EVENT一起使用
notification.defaults = Notification.DEFAULT_LIGHTS;
notification.ledARGB = Color.BLUE;
notification.ledOnMS = 5000;
notification.icon = R.drawable.xxx;
notification.tickerText = tip;
notification.setLatestEventInfo(TaskMan.this,"xxxxxx", tip, pendIntent);//为通知添加响应事件。
notificationManager.notify(0, notification);
如果需要在点击通知时执行任务,就需要写广播监听,还必须在AndroidManifest.xml的receiver中添加相应的动作:
<action android:name="com.zwq.test"></action>
这样就可以在onReceive方法中通过
if ("com.zwq.test".equals(intent.getAction())) {
}过滤到发送的监听事件了,在这儿可以做相应的事件处理。