1.概述
在12.0的产品开发中最近公司项目要求 屏蔽系统所有通知 不需要在下拉状态栏显示通知功能实现
要控制系统通知的开关功能,需要屏蔽系统通知,而系统通知都是由NoticationManagerServices.java来管理的,这个NMS服务管理通知就需要在NotificationManagerService.java 来实现需求
2.屏蔽系统所有通知的相关代码
frameworks/base/services/core/java/com/android/server/notification/NotificationManagerService.java
3.屏蔽系统所有通知的核心代码分析
接下来分析下NMS源码:
NMS服务也是在systemserver进程中启动的,然后在onStart()中初始化关于通知管理类的相关功能,
所以先来看onStart的相关方法
@Override
public void onStart() {
SnoozeHelper snoozeHelper = new SnoozeHelper(getContext