如何在android中的特定时间后删除通知?

问题描述 投票:6回答:4

我在创建一个简单的Android应用程序,创建了一个通知。

现在,如果用户在特定时间后没有响应,我想删除通知

这意味着我想在五分钟后删除通知

android notifications
4个回答
3
投票

您需要的是Alarmmanager和notificationmanger的组合。

注册将在5分钟内调用服务的警报管理器,并在服务实现中使用NotificationManager.cancel。

报警服务样本是here。我想你知道使用Notification Manager


10
投票

目前正确的解决方案可能是使用:

NotificationCompat.Builder#setTimeoutAfter(long)


0
投票

AlarmManager更常用于复杂的服务,当应用程序关闭时,必须在后台运行。您还可以在Handler中使用经典的Java Runnable来创建一个简单的小线程。

Handler h = new Handler();
    long delayInMilliseconds = 5000;
    h.postDelayed(new Runnable() {
        public void run() {
            mNotificationManager.cancel(id);
        }
    }, delayInMilliseconds);

另见:

Clearing notification after a few seconds

您也可以使用TimerTask-Class。


0
投票
 NotificationCompat.Builder notification = new NotificationCompat.Builder(context)
                .setSmallIcon(Util.getNotificationIcon(context))
                .setContentTitle(new SessionManager().getDomainPreference(context))
                .setAutoCancel(true)
                .setOngoing(false)
                .setPriority(NotificationCompat.PRIORITY_MAX)
                .setShowWhen(false)
                .setContentText(summaryText)
                .setTimeoutAfter(3000) // add time in milliseconds
                .setChannelId(CHANNEL_ID);
© www.soinside.com 2019 - 2024. All rights reserved.