android下面监测耳机事件

首先注册一个receiver, 使用的IntentFilter包含Intent.ACTION_HEADSET_PLUG, 这样在receiver的onReceive函数里就可以监测到耳机拔出和插入的事件了。


例如下面的代码: 
if(action.equals(Intent.ACTION_HEADSET_PLUG)){
                //headphone plugged
                if(intent.getIntExtra("state", 0) == 1){
                    //do something
                //headphone unplugged
                }else{
                    //do something
                }
 }


那怎么监测耳机按钮的事件呢?


只需要在filter里面加入Intent.ACTION_MEDIA_BUTTON


然后在onReceive函数里面处理


 final KeyEvent event = (KeyEvent) intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT);
if (event != null && event.getAction() == KeyEvent.ACTION_DOWN){
           //do something         
}            


呵呵,是不是很简单。不过监测耳机拔出会有一个延时,这个还满不爽的 : (


希望对大家有帮助。

你可能感兴趣的:(android,filter,null,button)