通知栏清理
Notification组织结构与cancel方法。
由于Android市场管理的不健全,很多APP都通过向通知栏投广告的方式诱导用户点击,广告多了,很是烦心。
因此好多安全软件提供了去通知栏广告的功能,甚至Android在4.2以后提供了disable某个app的notification功能,来净化通知栏。可见通知栏的控制对于用户来说至关重要。
安卓安全小分队在研究这一功能时,希望提出一些建设性的意见供大家参考。
一、组织结构
1. NotificationManagerService
NotificationManagerService 是通知栏的大总管,负责处理所有APP发送来的通知消息。其功能非常简单,查看NotificationManagerService.java的代码可以得知。
NMS做的工作大致可分为:
a. 查询/设置某个APP的发通知能力(可禁用某APP发送通知,4.2版本后推出);
b. 接受APP发送的通知;
c. 记录notification数据;
d. 发送应该显示的通知到通知栏(StatusBar)
e. 删除某条通知;
2. NotificationRecord
如果大家认为Notification类是NMS用来存储Notification的信息的数据结构那就大错特错了,在NMS内部是用NotificationRecord来存储的,其中包括了Notification类。
新浪微博 @安卓安全小分队
相关推荐
周公周金桥 2020-09-06
zjuwangleicn 2020-09-04
hellowzm 2020-08-18
大象从不倒下 2020-07-31
AlisaClass 2020-07-19
尚衍亮 2020-06-12
淡风wisdon大大 2020-06-06
黎豆子 2020-05-07
hilary0 2020-05-04
zhanghao 2020-04-21
MaureenChen 2020-04-21
xingguanghai 2020-03-13
nercon 2020-02-22
impress 2020-02-20
ajaxtony 2020-02-18
teresalxm 2020-02-18
福叔 2020-02-16
mituan 2020-01-17