请勿将此标记为重复。
我正在处理通知,工作正常。但我想要的是,当出现通知时,我们是否可以在不点击通知的情况下清除所有通知,意味着假设我收到5通知,而当我只是打开我的应用程序时,则必须删除该通知而不点击该通知。
我们可以这样做吗?
我已经搜索过并且所有人都说要使用setAutoCancel(true)。我已经用过了。
答案 0 :(得分:8)
使用以下代码 -
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
notificationManager.cancelAll();
答案 1 :(得分:8)
如果你想根据id这样做清除Notifications
,
来自NotificationManager
的通知通知会将标记设置为您的nofification,并将notification's
的ID保存在Arraylist
中
static ArrayList<String>notifIds=new ArrayList<>();
//your code
notificationManager.notify("myappnotif",NOTIFICATION_COUNT, builder.build());
notifIds.add(data);
现在要删除Notifications
电话notificationManager.cancel(String tag, int id)
,只要你想要这个
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
for(int i=0;i<MainActivity.notifIds.size();i++){
notificationManager.cancel("myappnotif", i);
}
并在Notification's
notificationManager.cancelAll();
的{{1}}中的应用程序启动调用onCreate
时删除所有Launcher Activity
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
notificationManager.cancelAll();
}