我是Java Coding的初学者,目前正在编写Android项目代码。现在,我正面临着一个问题。我希望我的application
在特定时间自动删除notification
。
用户点击notification
后,我设法解除了notification
。但是,与此同时,如果用户没有对notification
做出反应,我还希望notification
在特定时间后自动消失。
请告诉我应该怎么做。如果可能的话,请提供一些例子。
答案 0 :(得分:1)
您可以在调用显示通知的方法后立即启动计时器所需的秒数,并在计时器的onFinish()内添加以下内容:
NotificationManager nMgr = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
nMgr.cancelAll();
答案 1 :(得分:0)
您可以设置计时器或类似闹钟的内容,当符合条件时,请使用以下方法取消:
//clear all pending notifications
String ns = Context.NOTIFICATION_SERVICE;
NotificationManager nMgr = (NotificationManager) context.getSystemService(ns);
nMgr.cancelAll();
答案 2 :(得分:0)
您可以使用Timer
获取所需时间,并移除Notification
您可以使用cancel()
nMgr.cancel(<notification-id>); // here you have to pass your notification id.
如果您要删除所有通知,请使用
nMgr.cancelAll();
如果您想在2秒后删除通知,则可以使用:
Timer timer=new Timer();
TimerTask task=new TimerTask() {
@Override
public void run() {
nMgr.cancel(notification-id);
}
};
timer.schedule(task, 2000);
答案 3 :(得分:0)
我建议使用处理程序方法从通知栏中删除通知。您可以在处理程序中指定以毫秒为单位的时间长度。只有在输入时间之后才会召回一次。
Handler h = new Handler();
long delayInMilliseconds = 5000;
h.postDelayed(new Runnable() {
public void run() {
mNotificationManager.cancel(YourNotificationId);
}
}, delayInMilliseconds);