StatusBar
2014-09-16 15:15:16 3 举报
修改Android系统StatusBar
作者其他创作
大纲/内容
abstract class StatusBar extends SystemUI implements CommandQueue.Callbacks
+ CommandQueue mCommandQueue;+IStatusBarService mBarService
// Up-call methods+abstract View makeStatusBarView();+abstract int getStatusBarGravity();+abstract int getStatusBarHeight();+abstract void animateCollapse();+start();
abstract class SystemUI
继承
interface IStatusBar.Stub
组合
内部类
实现接口
PhoneStatusBar extends StatusBar
+ attribute1:type = defaultValue+ attribute2:type- attribute3:type
+ operation1(params):returnType- operation2(params)- operation3()
class CommandQueue extends IStatusBar.Stub
+Handler mHandler;//发送收到的底层消息并且调用Callback+Callbacks mCallbacks;//谁处收到的底层消息
interface CommandQueue.Callbacks
1.SystemUI的启动是随着系统服务启动的,具体代码是./frameworks/base/services/java/com/android/server/SystemServer.java中的startSystemUi(Context context)方法,该方法会启动SYstemUI中的SystemUIService.java服务;2.在服务的onCreat方法中判断加载com.android.systemui.statusbar.phone.PhoneStatusBar还是com.android.systemui.statusbar.tablet.TabletStatusBar,电视和平板一般都是后一个。上面的知识点在http://blog.csdn.net/andyhuabing/article/details/12851825博客中都有,下面介绍博客上没有的。3.A18中为了在其他界面能够调出SystemUI,添加了ISystemUIService.aidl,在这个接口中定义了呼出SystemUI的方法showExpandStatusBar,在其他应用通过Bind这个服务,获得ISystemUIService.Stub即可调用到showExpandStatusBar方法。4.所有的呼出界面都是在JExpandStatusBar.java中实现的,有USB 挂载,网络和消息中心。
TableStatusBar extends StatusBar
SystemUIService
onCreat(){new SystemUI().start()}
收藏
收藏
0 条评论
下一页