背景:有两种类型的通知......普通的(旧的传统类型)和自 Lolipop 以来可以有“回复”动作的通知。
我制作了一个 NotificationListenerService,它可以使用命令 cancelNotification 关闭通知(来自任何其他应用程序,而不仅仅是我的),只有当通知是旧的“普通”类型时。但是,如果通知具有“回复”操作(android 佩戴挂起的意图),当我执行 cancelNotification(ID) 时,通知将被删除并“重新发布”在通知栏上重新出现。我可以无休止地尝试删除通知,它们总是会再次出现。
String removing = "example ID";
@Override
public void onNotificationPosted(StatusBarNotification sbn){
if (sbn.getKey().equals(removing))
{
Log.e("INTENT","DISMISS MESSAGE");
super.cancelNotification(sbn.getKey());
super.cancelNotification(sbn.getPackageName(), sbn.getTag(), sbn.getId());
removing = "";
return;
}
两个命令(只有一个参数和 3 个参数)的行为方式相同。
是否有另一种方法可以忽略一条提示“wearableExtender”回复的消息?
满足所有先决条件:
添加 -> android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE" 并且“通知访问”处于活动状态并已检查。