I am a newbie on bluetooth & facing a few basic problems. I am currently working on an android voice assistant application, trying to make it work with bluetooth headsets.

If I connect to bluetooth via settings dialog the voice is still captured from Phone's microphone(and not from headset) but when it's connected via HSP profile programatically, voice is captured from Headset.

Can anyone help me understand this behaviour?

1 Answer 1


By default HS/HF profile has only control connection established. Audio connection become active during voice calls and speech recognition. You need to use BluetoothHeadset.startVoiceRecognition/BluetoothHeadset.stopVoiceRecognition and listen to ACTION_AUDIO_STATE_CHANGED intents.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .