1. 收集的相关资料
Android FrameWork——StatusBar
http://blog.csdn.net/stonecao/article/details/6642727
android 状态栏(StatusBar)
http://wpf814533631.iteye.com/blog/1585085
android去掉系统状态栏(StatusBar),让所有app程序均是全屏显示
http://blog.csdn.net/javashu2012/article/details/7791784
2. Android系统架构图
3. 熟悉以上资料后,开始动手修改。
第一步:定位到状态栏的源码路径:frameworks\base\packages\SystemUI
原来是一个独立的APP,执行mmm就可以编译出一个独立的APK
第二步:找到平板对应的java文件:com.android.systemui.statusbar.tablet.TabletStatusBar
修改对应的源码:
public void start() {
super.start(); // will add the main bar view
// mStorageManager = (StorageManager) mContext.getSystemService(Context.STORAGE_SERVICE);
//mStorageManager.registerListener(new com.android.systemui.usb.StorageNotification(mContext));
mStatusBarView.setVisibility(View.GONE);
mNotificationPanel.setVisibility(View.GONE);
}
第三步:执行命令:
$ source build/envsetup.sh
$ mmm frameworks/base/packages/SystemUI/
第四步:定位到out/target/product/rk29sdk/system/app/SystemUI.apk,安装到平板里面
本以为大功告成,重启平板后,状态栏上的按钮倒都去掉了,可是底部还是有一个黑色条。
4. 找了很久,试了很多种方案,底部的黑色条还是隐藏不了,后来实在是没有办法,用一种比较怪异的方案解决了这个问题。大致思路就是在系统加载时,让系统认为是PhoneStatusBar,然后在PhoneStatusBar.java的对应部分隐藏状态栏。