android4.0 上定制状态栏
来源:互联网 发布:win10组策略优化 编辑:程序博客网 时间:2024/05/06 10:55
a) 代码在系统中的位置
status bar 的相关代码位于:frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar。
其中PhoneStatusBarPolicy类主要负责接收action动作。
frameworks\base\services\java\com\android\server
其他一些核心操作全部位于StatusBarManagerService类里面。
b) 在frameworks\base\core\res\res\values\config.xml中定义需要显示的Icon 的配置信息
c) 在frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\phone\PhoneStatusBarPolicy.java 中初始化
// Alarm clock
mService.setIcon("alarm_clock", R.drawable.stat_sys_alarm, 0, null);
mService.setIconVisibility("alarm_clock", false);
// Sync state
mService.setIcon("sync_active", R.drawable.stat_sys_sync, 0, null);
mService.setIcon("sync_failing", R.drawable.stat_sys_sync_error, 0, null);
mService.setIconVisibility("sync_active", false);
mService.setIconVisibility("sync_failing", false);
d) 在frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\phone\PhoneStatusBarPolicy.java 中注册相应的receiver 来接受intent
private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(Intent.ACTION_ALARM_CHANGED)) {
updateAlarm(intent);
}
else if (action.equals(Intent.ACTION_SYNC_STATE_CHANGED)) {
updateSyncState(intent);
}
else if (action.equals(BluetoothAdapter.ACTION_STATE_CHANGED) ||
action.equals(BluetoothAdapter.ACTION_CONNECTION_STATE_CHANGED)) {
updateBluetooth(intent);
}
else if (action.equals(AudioManager.RINGER_MODE_CHANGED_ACTION) ||
action.equals(AudioManager.VIBRATE_SETTING_CHANGED_ACTION)) {
updateVolume();
}
else if (action.equals(TelephonyIntents.ACTION_SIM_STATE_CHANGED)) {
updateSimState(intent);
}
else if (action.equals(TtyIntent.TTY_ENABLED_CHANGE_ACTION)) {
updateTTY(intent);
}
// [SystemUI] Support "Headset icon". {
else if (action.equals(Intent.ACTION_HEADSET_PLUG)) {
updateHeadSet(intent);
}
// [SystemUI] Support "Headset icon". }
}
};
- android4.0 上定制状态栏
- android4.0上状态栏上加入虚拟按键
- 去掉android4.0上的状态栏,全屏显示的代码
- Android4.0 状态栏启动(1)
- Android4.0 StatusBar状态栏启动
- android4.0 SystemUi系统状态栏
- Android4.0 StatusBar状态栏启动
- 删除Android4.0的状态栏
- Android4.0状态栏透明教程
- Android4.0 彻底隐藏状态栏
- Android4.0状态栏的隐藏。
- Android4.0 彻底隐藏状态栏
- ANDROID4.0 裁剪与定制
- android4.4上全屏界面实现禁止状态栏下拉
- android4.4上全屏界面实现禁止状态栏下拉
- android4.4上全屏界面实现禁止状态栏下拉
- android4.0以上pad隐藏状态栏
- android4.0隐藏状态栏电池图标
- 由爱而生,由生而爱,生生不息
- java IO Stream 使用
- POCO库的Logging framework
- 乔布斯去世1年后,我说点什么?
- 一道c++面试题解答
- android4.0 上定制状态栏
- 配置过滤器、监听器的原因及方法
- 圆,圆球与圆柱的相关数学量计算
- js 倒计时
- 大数阶乘问题研究
- order by、group by、having的区别
- 三维重建资源 (转载http://blog.3snews.net/html/96/6596-59773.html)
- Android之背景颜色小知识(笔记)
- 修改CentOS主机名