- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SystemUI流程分析
(一) 需求 2
1. 整体功能结构图 2
2. 部分界面,功能描述 3
(二) 代码结构 6
1. 源码结构和资源文件 7
2. 通知栏,关键类和资源文件: 8
3. SystemUI类图: 9
(三) 执行流程 10
1. SystemUI启动 10
2. NavigationBar导航栏 13
3. RecentsActivity最近的APP 14
(1) 第三方APP访问Recent 15
4. StatusBar加图标AddIcons 16
(1) Icons排列规则 17
5. QuickSettingPanel快捷开关 20
6. ScreenShot事件流程 22
(四) APP与SystemUI交互 24
1. APP通知到PhoneStatusBar 24
2. APP清除(Cancel)通知 27
需求
SystemUI主要包括状态栏(StatusBar),导航栏(NavigationBar),快捷开关面板(QSPanel)和最近开启的应用面板(RecentPanel);另外,还包括部分锁屏,设置,USB,截屏和音量等部分。
整体功能结构图
部分界面,功能描述
常态 下拉无通知
下拉通知栏,有通知:
通知栏下拉,快捷开关:
最近的应用
状态栏,Icon区域
红色:notificationIcons,通知图标,比如我们常见的360以及QQ等等,都会在这里显示自己的图标;
紫色:statusIcons,状态图标,这里会放置系统的一些状态图标,比如像蓝牙、闹钟、耳机插入等等;
绿色:signal_battery_cluster,信号以及电量图标,这里主要放置了wifi以及手机信号和电池电量的图标(注:没有插入SIM卡);
黄色:clock,时钟图标;
蓝色:ticker,通知信息图标,当系统接收到通知后,有的通知具有通知信息,因此会通过ticker进行显示,比如禁用360的悬浮窗,插拔SD卡等等;
代码结构
SystemUI工程位置:源码\frameworks\base\packages\SystemUI ;
源码结构和资源文件
资源文件:
通知栏,关键类和资源文件:
SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
base/packages/SystemUI/src/com/android/systemui/SystemUIService.java
frameworks/base/services/java/com/android/server/SystemServer.java
packages/SystemUI/src/com/android/systemui/statusbar/SystemBars.java
packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
packages/SystemUI/src/com/android/systemui/SystemUIApplication.java
base/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
src/com/android/systemui/statusbar/policy/BrightnessMirrorController.java
packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java
SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
packages/SystemUI/src/com/android/systemui/volume/VolumePanel.java
frameworks/base/packages/SystemUI/res/layout/super_status_bar.xml
frameworks/base/packages/SystemUI/res/layout/navigation_bar.xml
frameworks/base/packages/SystemUI/res/layout/system_icons.xml
fram
文档评论(0)