清除属于我的应用的已经可见的通知

时间:2018-01-30 14:21:58

标签: java android push-notification

我的应用使用Firebase云消息传递来显示传入的推送通知。后端发送到Fireboase的通知有效负载如下:

{
  "to": "/topics/599_79",
  "priority": "high",
  "data": {
    "id_message": "209"
    "id_city": "599"
  }

  "notification" : {
      "body" : "New message test",
      "title" : "New message" 
      "click_action": "MESSAGE_DETAILS" 
    }
}

我的应用活动通过Intent Filter接收数据:

 <intent-filter>
     <action android:name="MESSAGE_DETAILS"/>
     <category android:name="android.intent.category.DEFAULT"/>
 </intent-filter>

工作正常。如果我的应用处于后台或未运行,Firebase会显示通知,在通知点按时,Android会启动与意图过滤器相对应的活动。

但是,我还需要类似于Gmail的实现功能 - 我需要在用户使用启动器图标运行应用后自动清除所有通知。 那么,如何以编程方式清除通知?

1 个答案:

答案 0 :(得分:1)

只需将以下代码放入启动器活动的onCreate()方法

即可
NotificationManager notificationManager = (NotificationManager) 
getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.cancelAll();