1.概述
在13.0的产品rom定制化开发中,对于系统的通知部分,要求根据app包名来过滤掉一部分通知,就是在接收到系统通知时,根据包名判断是否需要接收通知的功能,
首选要分析SystemUI的系统通知显示流程,然后实现功能文章来源:https://www.toymoban.com/news/detail-759127.html
2.SystemUI屏蔽某个app的通知相关代码
frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\notification\NoticationFilter.java
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotificationRankingManager.kt
3.SystemUI屏蔽某个app的通知核心功能分析
在SystemUI中会注册这个Service用来接收从Framework中传过来的通信信息,也就是StatusBarNotification这个类。这个过程使用的是Binder通信机制,
AIDL接口为INotificationListener,在Framework代码中实现了这个接口,但这个实现是一个抽象服务类(extends Service)的,本质上是一个Services,但在SystemUI中的使用上可以理解就是向
NotifcationManageService中注册的一个回调,当需要发送一个通知时,Framewok中接收到通知信息进行记录并处理,处理完了之后调用回调将信息传到SystemUI进行处理。
在systemui中,通过NotificationListener.java来监听系统发送过来的通知,然后在syste文章来源地址https://www.toymoban.com/news/detail-759127.html
到了这里,关于android 13.0 SystemUI屏蔽某个app的通知不显示功能实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!