通知栏清理

 Notification组织结构与cancel方法。

由于Android市场管理的不健全,很多APP都通过向通知栏投广告的方式诱导用户点击,广告多了,很是烦心。


 因此好多安全软件提供了去通知栏广告的功能,甚至Android4.2以后提供了disable某个appnotification功能,来净化通知栏。可见通知栏的控制对于用户来说至关重要。

 

安卓安全小分队在研究这一功能时,希望提出一些建设性的意见供大家参考。

一、组织结构

1. NotificationManagerService

NotificationManagerService 是通知栏的大总管,负责处理所有APP发送来的通知消息。其功能非常简单,查看NotificationManagerService.java的代码可以得知。

NMS做的工作大致可分为:

a. 查询/设置某个APP的发通知能力(可禁用某APP发送通知,4.2版本后推出);

b. 接受APP发送的通知;

扫描二维码关注公众号,回复: 681363 查看本文章

c. 记录notification数据;

d. 发送应该显示的通知到通知栏(StatusBar

e. 删除某条通知;

2. NotificationRecord

如果大家认为Notification类是NMS用来存储Notification的信息的数据结构那就大错特错了,在NMS内部是用NotificationRecord来存储的,其中包括了Notification类。


 新浪微博 @安卓安全小分队

猜你喜欢

转载自android-squad.iteye.com/blog/1870672