怕忘了,写下来,方便以后看。
做电视的,人家一开机有个状态栏多不好看。
系统烧录后第一次启动,可能会有隐藏的过程被看到。
最好在framwork做屏蔽,在linux下编译。不过我懒,不想动原来的系统,就在自己的Launcher里做控制吧。
上代码:
private SharedPreferences sh;
private int showhide_statusbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
sh = getSharedPreferences("show_hide_statusbar", MODE_PRIVATE);
showhide_statusbar = sh.getInt("show_hide", 0);//为了判别是否曾经写入过系统参数。
Log.i("zxk", "showhide_statusbar="+showhide_statusbar);
if(showhide_statusbar==0){
Log.i("zxk", "in show hide bar....--->");
Settings.System.putInt(getContentResolver(), "showhide_statusbar", 1 );//重点代码,写入启动初始化配置参数。下次开机就不显示了。
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.android.systemui",
"com.android.systemui.SystemUIService"));
intent.putExtra("starttype", 1);
startService(intent);//启动系统UI服务,刷新系统UI。
Editor editor = sh.edit();
editor.clear();
editor.putInt("show_hide", 1);
editor.commit();
}
changeBG(getResources().getDrawable(R.drawable.bg));
}
这个初始化参数,是插入数据库而已,是setting的数据库。可以在系统的/data/data/目录里找。系统默认是没有("showhide_statusbar", 1)值的。