Android2.3系统本身并没有耳机插入设备时的状态提示,应该自己添加,步骤如下:
一.添加图片至资源文件,一般是\frameworks\base\core\res\res\drawable-mdpi或\frameworks\base\packages\SystemUI\res\drawable-mdpi。
二.修改StatusBarPolicy.java文件
1.在构造方法public class StatusBarPolicy中:
添加:mService.setIcon("headset",R.drawable.stat_notify_headset, 0);//stat_notify_headset为步骤1中添加的图片名称mService.setIconVisibility("headset", false);
注册监听:filter.addAction(Intent.ACTION_HEADSET_PLUG);
在privateBroadcastReceiver mIntentReceiver = new BroadcastReceiver()中接收广播信息:
else if(action.equals(Intent.ACTION_HEADSET_PLUG)) {
updateHeadSetState(intent);
}
2. 在方法publicStatusBarPolicy(Context context)中实现状态改变方法:
private final void updateHeadSetState(Intent intent) {
mService.setIconVisibility("headset",(intent.getIntExtra("state", 0) == 1) ? true : false);
}
三.修改config.xml文件路径在frameworks\base\core\res\res\values
在<string-arrayname="config_statusBarIcons">中添加:
<item><xliff:gid="id">headset</xliff:g></item>