我的应用使用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的实现功能 - 我需要在用户使用启动器图标运行应用后自动清除所有通知。 那么,如何以编程方式清除通知?
答案 0 :(得分:1)
只需将以下代码放入启动器活动的onCreate()
方法
NotificationManager notificationManager = (NotificationManager)
getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.cancelAll();