Notification调查.doc

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Notification调查

Notification简介 2 Notification功能 2 Notification结构 3 APP层的Notification 3 Service中的Notification 10 StatusBarService中的Notification 13 Notification流程 16 1.App发出Notification的流程可以参考“Notification结构”部分的分析 16 2.App更新已经发出的Notification 16 3.点击一条Notification发送intent启动activity 16 4.清除一条Notification 18 5.清除所有可以清除的Notification 22 6.部分Notification是不可清除的,需要StatusBar做对应处理 23 Notification数据结构和功能处理流程分析 Notification简介 Notification的数据结构封装为3个类,Notification,NotificationRecord和StatusBarNotification。 Notification是提供给App层创建Notification使用的数据结构。Notification包含title,icon,discription等内容。 NotificationRecord是NotificationManagerService用来管理所有Notification的数据结构。包含Notification数据结构,package,userid,id,tag,statusBarKey等内容,其中package,userid,id,tag可以用来唯一标识一个NotificationRecord,statusBarKey是可以唯一标识StatusBarManagerService中StatusBarNotification的。 StatusBarNotification是StatusBarManagerService中notification的数据结构,包含package,userid,id,tag和Notification数据结构等。 Notification关联最大的两个Service就是NotificationManagerService和StatusBarManagerService。其中NotificationManagerService是用于管理Notification并处理Notification相关事件的核心。事件包括新建,更新,删除Notification等 StatusBarManagerService是StatusBar的后台管理服务,处理StatusBar相关事件,例如显示Notification,Buttery/Signal Status,System Time等。同时也会处理Notification显示,消去,并且点击Notification时发送PendingIntent等也都需要通过这个Service。StatusBarManagerService也会跟NotificationManagerService交互,处理Notification相关的动作。 Notification相关最重要的APP是SystemUI,这个APP提供了StatusBar的界面,StatusBar拓展界面,Home画面等主要画面,并且为用户提供UI和Status进行交互。例如提示新到短信,未接来电,邮件提醒等。该app在如下路径中: framework/base/packages/SystemUI/ Notification功能 App发出Notification,StatusBar进行显示 App更新已经发出的Notification 点击一条Notification发送intent启动activity 清除一条Notification 清除所有可以清除的Notification 部分Notification是不可清除的,需要StatusBar做对应处理 Notification结构 APP层的Notification Notification类型 APP层Notification从显示上分为两种Normal和Big(Expanded) Notification Normal Notification显示如图1: 图1 包含如下6个内容 1.Content title 2. Large icon 3. Content text 4. Content info 5. Small icon 6. Time that the notification was issued. 其中Small ico

文档评论(0)

sb9185sb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档