参考Link:android
http://blog.csdn.net/kangear/article/details/40430673app
Android应用层能获取蓝牙耳机事件的办法:测试
1.若是手机当前显示的是app界面,能够经过activity keyevent获取键值。spa
2.非当前app界面(别的应用在前面好比:锁屏)均只能经过系统广播:android.intent.action.MEDIA_BUTTON.net
3.经过手机系统的音量变化监听。code
测试状况:orm
1.音乐播放软件(QQ音乐,酷狗)在音乐没有播放的状况下,锁屏后,用蓝牙没法控制音乐的状态,也就是 快进,快退。QQ音乐在音乐暂停以后,直接没法快进,快退;酷狗,则是在延后一段时间(基本1-3分钟),没法响应蓝牙操做。初步怀疑是酷狗在暂停后播放了空白,维持了一段时间,但不可能长久保持(你们都知道长久其实会耗电)时间以后就完全不响应了。blog
(固然这未必能说明就按键没有接收到,或许是音乐业务这块不须要呢)事件
2.某些手机在锁屏状态下,能够唤醒手机的语音助手功能,但并不是全部的手机100%必定会响应。 用了红米手机测试了下当前的蓝牙耳机,不是100%会触发,只是偶尔会有。
我调用了命令su -c getevent 去更底层获取键值,在有音乐播放的状态下,会有值出来,但在没有音乐播放的状态下,双击快退只是偶尔会有键值显示,出现语音助手,并不是双击快退必定会出。而双击快进,任何键值都没有显现。
3.原本想经过音量监控按键状况,但在某些耳机,单按音量加或减,只是改变耳机自身的声音,并无向android系统报告须要增大或者减少音量的。android应用层这里没法获得这个变化。
结论:
手机应用可否获取蓝牙耳机按键,跟系统和蓝牙耳机硬件有关系的。
以上只是推测,精彩在下一页