如何使用通知,点击它时只清除,不做任何其他事情

时间:2012-01-30 05:12:40

标签: android android-intent

我有一个问题:我想在状态栏中发出通知。但是当点击它时,它只是清除它并且不会启动任何意图。我怎么能这样做?

Intent intent;
intent= new Intent(myclass.this, myclass.class);
PendingIntent pi = PendingIntent.getActivity(myclass.this, 0, intent, 0);
String body = "This is a test message";
String title = "test msg";
Notification n = new Notification(R.drawable.ic_launcher, body,System.currentTimeMillis());
n.setLatestEventInfo(myclass.this, title, body, pi);
n.defaults = Notification.DEFAULT_ALL;  
nm.notify(uniqueID, n);

使用此代码,当引发通知并单击它时,将创建并显示新意图。我不想创造任何新的意图。只需清除通知即可。

2 个答案:

答案 0 :(得分:1)

来自官方文件:

  

当用户从中选择状态栏时,清除状态栏通知   通知窗口,将“FLAG_AUTO_CANCEL”标志添加到您的   通知。您也可以使用cancel(int)手动清除它,传递   它是通知ID,或清除所有通知   cancelAll()。

答案 1 :(得分:1)

通过

PendingIntent.getActivity(context, 0, null, PendingIntent. FLAG_ONE_SHOT) 
n.flags |= Notification.FLAG_AUTO_CANCEL; // just like that teoRetik says