Android(安卓)Status bar添加耳机图标
16lz
2021-12-04
1. 将耳机资源图片文件stat_sys_headset.png放到android/frameworks/base/packages/SystemUI/res/drawable-nodpi/
2. 修改android/frameworks/base/core/res/res/values/config.xml
ime volume headset wifi
3. 修改android\frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\phone\PhoneStatusBarPolicy.java
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); } ......
//add start
else if (action.equals(Intent.ACTION_HEADSET_PLUG)) {updateHeadset(intent); }//zhanbing add end}
public PhoneStatusBarPolicy(Context context) { mContext = context; mService = (StatusBarManager)context.getSystemService(Context.STATUS_BAR_SERVICE); // listen for broadcasts IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_ALARM_CHANGED); filter.addAction(TtyIntent.TTY_ENABLED_CHANGE_ACTION); ......
filter.addAction(Intent.ACTION_HEADSET_PLUG);//zhanbing add mContext.registerReceiver(mIntentReceiver, filter, null, mHandler);
......
//headset zhanbing.li add mService.setIcon("headset", R.drawable.stat_sys_headset, 0, null); mService.setIconVisibility("headset", false); //zhanbing modify here end
//modify here start
private final void updateHeadset(Intent intent) { Slog.d(TAG, "updateHeadset: state=" + intent.getIntExtra("state", 0)); mService.setIconVisibility("headset", (intent.getIntExtra("state", 0) == 1)?true:false);
}
//modify here end
更多相关文章
- Android(安卓)app设置全屏模式
- Android修改自己程序字体的方法详解
- android之4.0的系统主题style修改android:Theme.Holo.Light
- 修改android公共控件和后台服务
- Android(安卓)Studio系列(三)Version Control I 使用内置版本管理
- 【Android(安卓)文件管理】分区存储 ( 修改与删除图片文件 )
- android > 修改Android工程版本
- Android(安卓)Home's favorite.xml
- Android修改自己程序字体