【发布时间】:2018-09-12 20:01:57
【问题描述】:
概述
我目前正在开发一个支持 VoIP 呼叫的 Android 应用程序(使用 webrtc)。一切正常,但现在我正在尝试添加对蓝牙耳机的支持。我希望在以下情况下自动接听/挂断电话(无需用户触摸设备的屏幕):
- 用户的设备连接了蓝牙耳机
- 接听/挂断按钮被按下
问题
我仍在努力完成这项工作。我已经阅读了所有相关的堆栈溢出问题(如this 和this),但仍然没有运气。 我试过的:
使用
bluetoothAdapter.getProfileProxy(context, serviceListener, BluetoothProfile.HEADSET)获取蓝牙配置文件代理。在服务监听器(
BluetoothProfile.ServiceListener)上检查获取的BluetoothHeadset是否有连接的蓝牙设备。如果为真,则使用具有android.intent.action.MEDIA_BUTTON、android.media.ACTION_SCO_AUDIO_STATE_UPDATED和android.bluetooth.headset.profile.action.CONNECTION_STATE_CHANGED操作的IntentFilter注册BroadcastReceiver,并调用audioManager.startBluetoothSco()。
我只接收android.media.ACTION_SCO_AUDIO_STATE_UPDATED 操作的广播。我的方法有什么问题?
任何帮助将不胜感激。
【问题讨论】:
标签: android bluetooth bluetooth-lowenergy android-bluetooth headset