首先注册一个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
}
PS:转自http://site.douban.com/widget/notes/110027/note/120650125/
分享到:
相关推荐
Android平台下,对普通耳机以及蓝牙耳机插拔状态的监控,代码中有做蓝牙耳机SCO通话建立
android 蓝牙 耳机 开发
android 实时监测网络常用工具包,主要包括 1.NetWorkBroadcastReceiver 2.NetworkUtils 3.BaseActivity
包括Android 移动开发基础案例教程课本中第八章实战演练——监测数据的猫的源代码,可用Android studio运行,适合初学者学习。
这个Demo主要使用到了android.intent.action.MEDIA_BUTTON这个广播,在灭屏后台的情况下能监听到媒体按键(耳机上只能监听到暂停和播放键音量键捕获不到),我现在实在是没积分了挣点积分,资源是我自己测试过的,...
在Android应用程序中,有一类特殊的消息,是专门负责与用户进行交互的,它们就是触摸屏和键盘等输入事件。触摸屏和键盘事件是统一由系统输入管理器InputManager进行分发的。也就是说,InputManager负责从硬件接收...
此demo是用来开启蓝牙耳机的Sco模式,进而行录音,然后保存到手机sd卡中的。
Android与蓝牙耳机建立连接的一些代码,希望能起到抛砖引玉的效果,大家一起学习
借助广播来实现单按钮耳机的线控,能够识别单击和双击 代码讲解在我的博客里: http://blog.csdn.net/illidantao/article/details/16847909
android安卓切换听筒-外放-蓝牙耳机设备
这是Qt for Android的测试工程,主要测试QT的触摸手势事件
Android例子源码有蓝牙耳机功能的蓝牙例子
可以实时显示网速,每秒刷新。由于是监控流量,需要手机产生流量才能计算出网速。 具体用法见demo
Android利用广播接收器检测用户是否插入耳机!
Android的热插拔监听源代码,可以用来监听耳机之类的热插拔事件发生.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
android 蓝牙耳机
震动监测Android软件
一个监测温度的APP,通过socket接收温度信息,并实时绘出温度曲线图
1.保证无毒 2.简单,方便,实用 3.实例可以自行改用 4.如有非法,本人无法律责任,由改动代码人负责! 5.需要更多本人作品,查找标签“朱建强” 6.请下载,杀毒后再使用!
AudioManager就有这个方法: isWiredHeadsetOn();... 实时检测耳机插入和拔出: 每当插入和拔出耳机时,系统都会发送Intent广播, 所以,只需要用一个receiver把这个广播intent(获取的action是:“android.i