请问大神:蓝牙mic按键如何监听,比如ppt键等。api中提示:
然后我注册了这个广播就是无法监控到这个按钮事件。是否是需要其他的条件,比如需要蓝牙mic连接到自己程序中 或者其他的 。

解决方案 »

  1.   

    参考 http://blog.sina.com.cn/s/blog_68028f880100u8te.html
      

  2.   

    以前试过,可以给工程新加一个configuration, 里面配置运行的脚本和相关参数
      

  3.   

    给你说条路吧!
    1.关于按键
    按键在Android无论来源自哪里Bluetooth/游戏手柄/键盘/鼠标都是统一的有一个编码而已。要看该按键在Android的码到底是多少,运行:adb shell getevent。然后按下你要测试的键。关于这个数据格式角度参数这个《按键从Linux到Android》中的图上的Code字段(这个码其实是Linux层面的)。
    在Android系统中的/system/usr/keylayout/Generic.klGeneric.kl(或者点击到Android源码库中查看)文件中查看键值码对应的 字串 给你复制一个样例让你有个感官上的认识:
    key 27    RIGHT_BRACKET
    然后查看Android源码frameworks/base/core/java/android/view/KeyEvent.java(或者点击链接到Google源码仓库中看)查看对应的其它对应的API到底是什么,如果上面例子中的RIGHT_BRACKET对应的是KEYCODE_RIGHT_BRACKET,那么你监听它是错不了的。2.关于「蓝牙mic」
    你的需求太不清晰了,我就是假定你其实是想从蓝牙Mic中录音,录音前添加如下
    mAudioManager.setBluetoothScoOn(true);
    mAudioManager.startBluetoothSco();
    就可以把BT的Mic设置为默认的了,打开系统默认的录音APP就可以完成从BT的Mic录音。
    完整例子:bluetoothSCOapp
    例子使用的时候,注意先把Settings中连接的蓝牙中的 媒体音频 去掉,仅保留 手机音频。实际应用的时不用考虑这个。
      

  4.   

    我通过以上方法检测我在使用的这个型号的DF630 4.0蓝牙耳机的键值如下:
    中键:    KEYCODE_MEDIA_PLAY_PAUSE/KEYCODE_MEDIA_STOP
    短按下:KEYCODE_MEDIA_NEXT
    短按上:KEYCODE_MEDIA_PREVIOUS长按上:耳机自身加音,没有向Android传 键值
    长按下:耳机自身减音,没有向Android传 键值PS:这个仅仅是个案,不同型号蓝牙耳机有不同的实现。比如有的型号的耳机会向Android发送音量加减的键值。
      

  5.   

    Quote: 引用 1 楼 juen32 的回复:
    问题搞定了吗?
      

  6.   

    我好像也是接不到带有AT指令的ACTION广播。楼主现在情况如何了?可以交换下资料
      

  7.   

    解决了,注册这个广播没错,顺便要添加company id  就ok
      

  8.   

    解决了,注册这个广播没错,顺便要添加company id  就ok
    不太明白,company id ?
      

  9.   

    楼主,您的这个companyid 如何添加,求教。感谢!
      

  10.   

    我在做SCO模式下的蓝牙耳机单机和双击事件的监听,不是AudioMEDIA模式的。好像基本都没有这个资料,也没有人实现,还请大神救命呀!!!SOS!
      

  11.   

    <intent-filter>
                    <action android:name="android.bluetooth.headset.action.VENDOR_SPECIFIC_HEADSET_EVENT" />
                    <category android:name="android.bluetooth.headset.intent.category.companyid" />
                </intent-filter>
    大神救我,为什么按你说的注册这两个我还是接收不到,这几年又有什么变化了吗