Java 通知在特定时间自动取消
我是Java编码的初学者,目前正在编写一个Android项目。现在,我面临一个问题。我希望我的Java 通知在特定时间自动取消,java,android,notifications,broadcastreceiver,alarmmanager,Java,Android,Notifications,Broadcastreceiver,Alarmmanager,我是Java编码的初学者,目前正在编写一个Android项目。现在,我面临一个问题。我希望我的应用程序在特定时间自动删除通知 在用户单击通知后,我成功地取消了通知。但是,同时,如果用户没有对通知作出反应,我还希望通知在特定时间后自动消失 请告诉我该怎么做。如果可能的话,请给我举一些例子 您可以在调用该方法以显示通知后立即启动计时器,并在计时器的onFinish()内添加如下内容: NotificationManager nMgr = (NotificationManager) getSystem
应用程序
在特定时间自动删除通知
在用户单击通知
后,我成功地取消了通知
。但是,同时,如果用户没有对通知作出反应,我还希望通知在特定时间后自动消失
请告诉我该怎么做。如果可能的话,请给我举一些例子 您可以在调用该方法以显示通知后立即启动计时器,并在计时器的onFinish()内添加如下内容:
NotificationManager nMgr = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
nMgr.cancelAll();
您可以设置计时器或类似警报的东西,当满足条件时,使用以下方法取消它:
//clear all pending notifications
String ns = Context.NOTIFICATION_SERVICE;
NotificationManager nMgr = (NotificationManager) context.getSystemService(ns);
nMgr.cancelAll();
您可以使用定时器
进行所需的定时,并删除通知
您可以使用取消()
如果要在2秒钟后删除通知,可以使用:
Timer timer=new Timer();
TimerTask task=new TimerTask() {
@Override
public void run() {
nMgr.cancel(notification-id);
}
};
timer.schedule(task, 2000);
我建议使用handler方法从通知栏中删除通知。您可以在处理程序处以毫秒为单位指定时间长度。只有在输入的时间之后,才会调用一次
Handler h = new Handler();
long delayInMilliseconds = 5000;
h.postDelayed(new Runnable() {
public void run() {
mNotificationManager.cancel(YourNotificationId);
}
}, delayInMilliseconds);
Timer timer=new Timer();
TimerTask task=new TimerTask() {
@Override
public void run() {
nMgr.cancel(notification-id);
}
};
timer.schedule(task, 2000);
Handler h = new Handler();
long delayInMilliseconds = 5000;
h.postDelayed(new Runnable() {
public void run() {
mNotificationManager.cancel(YourNotificationId);
}
}, delayInMilliseconds);