android 13.0 SystemUI屏蔽某个app的通知不显示功能实现

1.概述

在13.0的产品rom定制化开发中,对于系统的通知部分,要求根据app包名来过滤掉一部分通知,就是在接收到系统通知时,根据包名判断是否需要接收通知的功能,
首选要分析SystemUI的系统通知显示流程,然后实现功能

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

  • 17
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安卓兼职framework应用工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值