StorageNotification继承于SystemUI,主要处理Storage事件,比如Storage插拔等。 在StorageNotfication的start函数,会去注册StorageEventListener。 @Override public void start() { mNotificationManager = mContext.getSystemService(NotificationManager.class); mStorageManager = mContext.getSystemSe…

2016年3月13日 0条评论 7点热度 阅读全文

PowerUI在SystemUI里的实现比较简单,PowerUI主要处理和Power相关的事件,比如省电模式切换,电池电量变化和开关屏事件等。 PowerUI的启动流程与SystemBars,Recents一样,因为他们都是SystemUI的子类,具体可以看前面的介绍。 public void start() { mPowerManager = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE); mScreenOffTime = mPow…

2016年3月12日 0条评论 5点热度 阅读全文

1.StatusBar启动 StatusBar继承于SystemUI,在SystemUIApplication会启动SysteBar. mServices[i].start(); SystemBar.java @Override public void start() { if (DEBUG) Log.d(TAG, "start"); mServiceMonitor = new ServiceMonitor(TAG, DEBUG, mContext, Settings.Secure.BAR_SERVICE_COMP…

2016年3月8日 0条评论 1点热度 阅读全文

1.Recent Panel按键处理流程 SystemUI有一个很重要的功能就是显示近期使用的app,方便用户点击使用。 手机长按HOME键或者点击Navigation Bar的近期任务栏虚拟键可以显示Recent Panel。 我这里手头上只有Android TV平台,并且也便于debug,所以讲讲收到Switch按键后,Recent Panel的显示流程。 KeyEvent.java中对于Switch按键的定义:     /** Key code constant: App switch k…

2016年3月7日 0条评论 1点热度 阅读全文

1.SystemUI启动 SystemUI是核心系统应用,需要开机启动,启动SystemUI进程,是通过启动SystemUIService来实现的。 frameworks\base\services\java\com\android\server\SystemServer.java SystemServer启动后,会在SystemServer Main Thread启动ActivityManagerService,当ActivityManagerService  systemReady后,会去启动Syst…

2016年3月7日 0条评论 1点热度 阅读全文

1. SystemUI介绍 SystemUI是一个系统应用,主要功能有: 1)状态栏信息显示,比如电池,wifi信号,3G/4G等icon显示 2)通知面板,比如系统消息,第三方应用消息,都是在通知面板显示。 3)近期任务栏显示面板。比如长按主页或近期任务快捷键,可以显示近期使用的应用。 4)提供截图服务。比如电源+音量加可以截图。 5)提供壁纸服务。比如壁纸的显示。 6)提供屏保服务。 7)系统UI显示。比如系统事件到来时,显示系统UI提示用户。 SystemUI源码路径: frameworks\base\pac…

2016年3月6日 0条评论 1点热度 阅读全文