首页 > 解决方案 > Android 7.1如何清除通知栏的所有通知?

问题描述

我想清除通知栏的所有通知,并创建了一个扩展的单独类NotificationListenerService

package com.testando.teste;

import android.service.notification.NotificationListenerService;
import android.service.notification.StatusBarNotification;

public class NotificationListener extends NotificationListenerService {

    @Override
    public void onNotificationPosted(StatusBarNotification sbn) {
        cancelNotification(sbn.getKey());
    }
}

我的清单文件是这样的:

<application>

<service android:name=".NotificationListener"
            android:enabled="true"
            android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
            <intent-filter>
                <action android:name="android.service.notification.NotificationListenerService" />
            </intent-filter>
        </service>

 </application>

然后我想知道为什么每次收到通知时,这不是被删除?

或者有人知道一些不使用NotificationListenerService类来删除这些通知的方法,类似于“清除所有”按钮?

标签: javaandroidandroid-notificationsandroid-7.1-nougat

解决方案


// Clears notification tray messages
    public static void clearNotifications(Context context) {
        try{
            NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
            notificationManager.cancelAll();
        }catch (Exception e){
            e.printStackTrace();
        }
    }

AndroidHive有一个关于通知的详细教程

Firebase 云消息传递

本教程是您的参考。希望对您有所帮助。


推荐阅读