java - 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
类来删除这些通知的方法,类似于“清除所有”按钮?
解决方案
// 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 云消息传递
本教程是您的参考。希望对您有所帮助。
推荐阅读
- reactjs - React Hooks TypeError:products.map 不是函数
- c# - C# 我正在尝试使用自定义类创建 Web 用户控件,但我得到一个未设置为对象错误实例的对象
- kubernetes - 带有副本的 Statefulset:1 个 pod 具有未绑定的立即 PersistentVolumeClaims
- vue.js - id动态路由
- python - Python Re.Sub 函数使用问题
- android-studio - 无法将 Android Studio Kotlin 插件升级到最新版本 (1.4.21)
- laravel - Laravel 授权的访问代码
- sorting - 根据与字符串的比较对自定义对象列表进行排序
- javascript - 如何在 keyup 上打开 mat-menu
- python - 使用 Python 将列表 l 中以“S”开头的项目保存到 l2