Android AudioManager未更新CallAudioState
我正在尝试将VoIP功能添加到我的应用程序中。我一直在使用Android的Android AudioManager未更新CallAudioState,android,android-bluetooth,voip-android,android-connectionservice,Android,Android Bluetooth,Voip Android,Android Connectionservice,我正在尝试将VoIP功能添加到我的应用程序中。我一直在使用Android的连接服务,以确保它与其他通话应用程序配合良好,但我遇到了蓝牙、扬声器和耳机模式正常工作的问题 我的自定义连接类覆盖了onCallAudioStateChanged(),它提供了一个CallAudioState对象,我可以使用该对象查看当前使用的路由以及可用的蓝牙设备 然后我使用AudioManager调用方法,如setspeakerphone(真/假)和setBluetoothScoOn(真/假)尝试在扬声器、耳机和蓝牙之
连接服务
,以确保它与其他通话应用程序配合良好,但我遇到了蓝牙、扬声器和耳机模式正常工作的问题
我的自定义连接类覆盖了onCallAudioStateChanged()
,它提供了一个CallAudioState
对象,我可以使用该对象查看当前使用的路由以及可用的蓝牙设备
然后我使用AudioManager
调用方法,如setspeakerphone(真/假)
和setBluetoothScoOn(真/假)
尝试在扬声器、耳机和蓝牙之间切换。我希望调用这些方法会导致使用更新的信息再次调用onCallAudioStateChange()。有什么我遗漏的吗?还是我应该用另一种方式来处理这件事
另一个问题,如果只连接了一个蓝牙设备,我希望呼叫setBluetoothScoOn(true)
可以正常工作,但是如果手机有多个可用设备,我如何选择要使用的设备