从服务中检查Android通知?

时间:2012-08-03 10:48:09

标签: android service notifications

我正在编写一个应用程序,它有一个启动服务。此服务只会在一段时间后弹出通知,并在给定时间段内使用新信息更新通知。目前不需要进一步节省电池,我只想让更新序列工作。

我遇到了一个问题。创建启动BroadcastReceiver然后启动我的服务。它,我通过Timer和TimerTask完成工作。但正如我所看到的,没有简单的方法来检查通知是否被删除,因此不会尝试更新它,而是重新创建它。

我想做什么:

private Notification n;

NotifTask extends TimerTask {
    public void run() {
        if(n.exists){
           // Update notification
        }else{
           n = Notification.Builder(context).[customize it].build();
        }
    }
}

在服务的onStart中,设置一个每10秒运行一次此任务的计时器。 现在,我的问题是:有没有办法轻松地完成“n.exists”部分,没有意图?

1 个答案:

答案 0 :(得分:0)

如果您发布通知并且此通知已存在,则只会使用新信息进行更新。如果它不存在,它将被创建。我认为你不需要做任何特别的事情来获得你想要的行为。

来自documentation for NotificationManager.notifiy()

  

发布要在状态栏中显示的通知。如果是通知   具有相同ID的已经由您的应用程序发布并具有   尚未取消,将被更新的信息取代。