团队博客: 汽车电子社区
一、简介
在Android系统中SystemUI是一个系统级的APP,它提供了系统的用户界面,由system_server进程启动。SystemUI本身不属于system_server进程,它是一个独立的进程。它的HMI包括了状态栏、导航栏、通知栏、锁屏、近期任务等等。
二、功能介绍
这部分将主要介绍那些对我们定制自己的SystemUI时有参考价值的模块。
1. 状态栏
StatusBar,负责显示时间,电量,信号,通知等状态信息。
2. 导航栏
NavigationBar,显示返回,主页,最近任务等按钮。在车载Android中,我们多数时候会称为Dock栏(DockBar)。一般负责显示车控、主页、蓝牙电话等常用功能的快捷控制和入口。
3. 通知栏
NotificationPanel,显示、控制通知的界面。实际的车载项目中通知栏往往会和【消息中心】合并成一个独立的APP。
4. 快捷控制
QuickSettings,这个面板可以让用户快速地调整一些常用的设置,例如亮度、飞行模式、蓝牙等。QS面板有多种状态,包括初级展开面板(Quick Quick Settings,QQS)和完整QS面板(Quick Settings,QS)。用户可以通过下拉通知栏来打开或关闭QS面板。
5. 其他功能
一些系统级的对话框、弹窗、动画、屏保等,这些内容相对比较简单,不再介绍了。而锁屏、媒体控制等一些功能,车载SystemUI开发时涉及的不多,也同样不再介绍。
三、SystemUI 启动流程
当Android系统启动完成后,system_server进程会通过ActivityManagerService启动一个名为com.android.systemui.SystemUIService的服务,这个服务是SystemUI的入口类,它继承了Service类。