Android 8.0 SystemUI(一):图文并茂的介绍 :D

原创 2018年04月17日 13:52:20

文章已同步更新至微信公众号:猿湿Xoong

我擅长什么?
当我想到这个这个问题的时候,脑子里是一片空白的:哎呀,我什么都知道点,可是说擅长的,还真没拿的出手的,这怎么行!
于是就有了SystemUI系列的文章。
—— 猿湿Xoong

一、本文结构

二、什么是SystemUI?

作为Android**系统**核心应用,SystemUI负责反馈系统及应用状态并与用户保持大量的交互。耳熟能详的三栏:StatusBar(状态栏)、NavigationBar(导航栏)与Notification Panel(通知栏),以及Recents(近期任务界面),使用起来方便又快捷。

另外Keyguard(锁屏界面)也是属于SystemUI的一部分。并且在Android8.0代码中,Keyguard模块已经从外部被合并到SystemUI源码目录下。

三、SystemUI路径

与/packages/apps/下许多模块不同的是,SystemUI属于Android frameworks的一部分。这也就意味着,SystemUI在正常情况下是不可被替换的(例如,短信应用可以被三方应用替换,Settings因所需权限过高而除外)。

SystemUI 源码目录:

/frameworks/base/packages/SystemUI/

SystemUI APK路径:

/system/priv-app/SystemUI/

四、SystemUI功能划分

在Android8.0上,我大致将SystemUI模块分为11个子模块,如下图所示。其中的StackDivider和PipUI是在Android 7.0新加入的模块。相信很多人都已经体验过Android 7.0之后的分屏功能。

主要模块有:

  1. StatusBar:通知消息提示和状态展现
  2. NavigationBar:返回,HOME,Recent
  3. KeyGuard:锁屏模块可以看做单独的应用,提供基本的手机个人隐私保护
  4. Recents:近期应用管理,以堆叠栈的形式展现。
  5. Notification Panel:展示系统或应用通知内容。提供快速系统设置开关。
  6. VolumeUI:来用展示或控制音量的变化:媒体音量、铃声音量与闹钟音量
  7. 截屏界面:长按电源键+音量下键后截屏,用以展示截取的屏幕照片/内容
  8. PowerUI:主要处理和Power相关的事件,比如省电模式切换、电池电量变化和开关屏事件等。
  9. RingtonePlayer:铃声播放
  10. StackDivider:控制管理分屏
  11. PipUI:提供对于画中画模式的管理

重要模块在系统中的位置截图如下:

状态栏与导航栏

音量栏

QuickSettings未展开

通知栏

锁屏

最近任务列表

关于SystemUI的介绍到这里就结束了,后续会根据模块进行更为深入的分析。

欢迎关注微信公众号:猿湿Xoong,获取最新通知

网络敏感程序的编制

网络敏感程序的编制 UNIX系统为程序员提供了许多子程序,这些子程序可存取各种安全属性.有 些是信息子程序,返回文件属性,实际的和有效的UID,GID等信息.有些子程序可 改变文件属性.UID,GID...
  • ghj1976
  • ghj1976
  • 2000-08-25 14:20:00
  • 1343

SystemUI实现逻辑及对比8.0

SystemUI实现逻辑SystemUI中的关键类 BaseStatusBar.java 在android 8.0中该类被去除.5.1中是一个抽象类. 它的Start()方法继承自SystemUI,...
  • zhenxi2735768804
  • zhenxi2735768804
  • 2017-08-31 16:04:17
  • 677

Android8.1_SystemUI_通知中心原生BUG处理

1/16 $
  • QrowWong
  • QrowWong
  • 2018-01-16 13:34:26
  • 216

Android8.1_SystemUI_Notification:布局定制

1/16 $
  • QrowWong
  • QrowWong
  • 2018-01-16 13:38:20
  • 186

android8.0屏蔽状态栏下拉

--- a/frameworks/base/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java+...
  • fuyinghaha
  • fuyinghaha
  • 2018-01-18 11:55:43
  • 398

Android 8.0 新特性

Android 8.0 新特性前言Android 8.0 是目前 Android 最新的智能手机操作系统,2017年3月21日 Google 为开发者推出了新的 Android O 首个开发者预览版,...
  • myfriend0
  • myfriend0
  • 2017-11-06 20:57:24
  • 14070

android8.0 keyguard流程分析

1.keygaurd 锁屏重要类分析PhoneWindowManager.java  此类主要涉及各种按键响应的事件KeyguardServiceDelegate.java 和KeyguardServ...
  • xuhui_louning
  • xuhui_louning
  • 2018-03-15 08:10:12
  • 219

Android SystemUI 技术总结

1.状态栏StatusBar 1.1 卡状态/运营商的显示; 1.2 wifi图标显示(包含上下行箭头显示); 1.3 数据连接图标显示 (信号格强度、漫游图标); 1.4 电量图标显示(包...
  • zplxl99
  • zplxl99
  • 2018-03-11 18:42:05
  • 38

Android8.0 Keyguard解锁流程

概述Keyguard锁屏的加载可能和我们想象的不一样,它是在灭屏的时候加载,这样可以确保的屏幕亮起来的时候,用户能第一时间看到锁屏界面。灭屏存在多种方式,例如按power键、屏幕超时等,这些灭屏的方式...
  • qq_28147169
  • qq_28147169
  • 2018-03-07 10:12:15
  • 256

Android8.0 Do not disturb(DND)/Zenmode 添加一个新的模式

这里添加的模式可能涉及的地方不全面,目前把已知的地方都加上。可以搜索ZEN_MODE_ALARMS来看看哪里还需要加代码。目前就改了这些地方,有些地方不知道有什么用,可能只是log信息,有些是显示的图...
  • Aaron121314
  • Aaron121314
  • 2017-12-04 10:45:00
  • 315
收藏助手
不良信息举报
您举报文章:Android 8.0 SystemUI(一):图文并茂的介绍 :D
举报原因:
原因补充:

(最多只允许输入30个字)