是否可以在一段时间后自动消失通知?
答案 0 :(得分:4)
您可以使用AlarmManager。我认为比Android服务更合适,更容易实现。
使用AlarmManager
,您无需担心在完成任务之前运行一些东西。 Android会为您执行此操作,并在发生时发送brodcast 。您的应用程序必须具有接收器才能获得正确的意图。
看看这些例子:
答案 1 :(得分:1)
是的,你可以创建一个在后台运行的服务,该服务在五分钟后会超时并删除你的通知。你是否“应该”实际这样做是有争议的。应该在那里通知用户......并且用户应该能够自己解雇它。
服务是一个可以执行长时间运行的应用程序组件 在后台运行并且不提供用户界面。
答案 2 :(得分:0)
您还可以将经典的Java Runnable用于简单的小线程。
Handler h = new Handler();
long delayInMilliseconds = 5000;
h.postDelayed(new Runnable() {
public void run() {
mNotificationManager.cancel(id);
}
}, delayInMilliseconds);
另见:
答案 3 :(得分:0)
现在有一个名为.setTimeoutAfter(long durationMs)
https://developer.android.com/reference/android/app/Notification.Builder.html#setTimeoutAfter(long)