我有一个问题:我想在状态栏中发出通知。但是当点击它时,它只是清除它并且不会启动任何意图。我怎么能这样做?
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);
使用此代码,当引发通知并单击它时,将创建并显示新意图。我不想创造任何新的意图。只需清除通知即可。
答案 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