Android 13.0 开机过滤部分通知声音(莫名其妙的通知声音)
1.概述
在13.0的系统定制开发产品的中,有时候在系统开机的时候会有一些通知的声音,但是由于系统模块太多,也搞不清楚到底是哪个模块发出的通知声音,所以就需要从通知的流程来屏蔽这些通知声音,接下来看具体怎么实现在开机的时候过滤开机声音的功能
2.开机过滤部分通知声音(莫名其妙的通知声音)核心代码
frameworks/base/core/java/android/app/NotificationManager.java
frameworks/base/services/core/java/com/android/server/notification/NotificationManagerService.java
3.开机过滤部分通知声音(莫名其妙的通知声音)功能分析代码实现
NotificationManager是一个Android系统服务,用于管理和运行所有通知。
NotificationManager因为是系统服务,所以不能被实例化,为了把Notification传给它,可以用getSystemService()方法获取一个NotificationManager的引用。
在需要通知用户时再调用notify()方法将Notification对象传给它。
NotificationManagerService 是在系统启动时在SystemService.startOtherServicess的时候通过
mSystemServiceManager.startService(NotificationManagerService.class)方式启动的,
并且加入到了系统服务的列表当中,在Android系统中可以通过ServiceManager.getService("notification")
拿到这个服务,后面统称为NMS。