一、SystemUI介绍
1、什么是SystemUI
作为Android系统核心应用,SystemUI负责反馈系统及应用状态并与用户保持大量的交互。
2、SystemUI组成
SystemUI包含的功能非常丰富,主要模块有:
StatusBar:状态栏
Notification Panel:Quick settings 和 Notification
NavigationBar:导航栏(返回,Home,Recent)
Keyguard:锁屏界面 Recents:近期任务界面
VolumeUI:音量调节对话框(媒体音量、铃声音量、闹钟音量、通知音量)
Screenshot:截图界面
PowerUI:主要处理和Power相关的事件,比如省电模式切换、电池电量变化和开关屏事件等。
RingtonePlayer:铃声播放界面
等
二、SystemUI的启动过程
Android系统开机的过程,会创建ServerThread维护系统各种服务,当核心系统服务启动完成后ServerThread会通过调用ActivityManagerService.systemReady()方法通知AMS系统已经就绪。
/framework/base/services/java/com/android/server/SystemServer.java
mActivityManagerService.systemReady(() -> {
//省略一些
traceBeginAndSlog("StartSystemUI");
try {
startSystemUi(context, windowManagerF);
} catch (Throwable e) {