android 13.0 framework禁用系统所有通知

1.概述

在13.0的系统rom产品开发中最近公司项目要求 禁用系统所有通知 不需要在下拉状态栏显示通知功能实现
要控制系统通知的开关功能,需要屏蔽系统通知,而系统通知都是由NoticationManagerServices.java来管理的,
这个NMS服务管理通知就需要在NotificationManagerService.java 来实现需求

2.framework禁用系统所有通知的核心代码分析

frameworks/base/services/core/java/com/android/server/notification/NotificationManagerService.java

3.framework禁用系统所有通知的核心代码功能分析和实现

在系统中一条通知发出要经过三个进程:APP进程、System_server进程和SystemUI进程,APP进程发出通知、
System_server进程统一存储并一一通知注册的NotificationListenerService,SystemUI显示通知并处理通知点击事件。
流程说明:
当一个APP要发出通知,会调用NotificationManager.notify(),并带上APP进程的信息;APP要把通知发送到
System_server进程,需要跨进程,首先获取NotificationManagerService的代理,跨进程调用NotificationManagerService的方法;
进入NotificationManagerService,首先把通知加入到通知队列,这里使用handler消息机制保证通知的添加顺序;
然后遍历注册到NotificationManagerService中的NotificationListene

你可能感兴趣的:(android,13.0,Rom定制化系列讲解,android,nms,禁用系统通知,禁用系统所有通知,屏蔽系统通知)