How do I know which "Bluetooth Profiles" are available on my Android device?
Is there any terminal command to list all "Bluetooth Profiles" supported by Bluetooth Stack present in Android device?
With USB debugging enabled,
adb shell dumpsys bluetooth_manager | grep Profile`
Output on a Mi 10i is as follows:
Profile: GattService
Profile: HeadsetService
Profile: A2dpService
Profile: HidHostService
Profile: PanService
Profile: BluetoothMapService
Profile: HidDeviceService
Profile: BluetoothOppService
Profile: BluetoothPbapService
Profile: HearingAidService
Enable developer options and then look under Settings > Developer Options for Bluetooth Audio Codec and tap that. That should give you the list of available codecs.
Here is the official documentation for those options (check here first for the latest info).
- Bluetooth Audio Codec: Adjust the sound quality (codec) of your devices by selecting one of the following codecs:
- SBC: Transfers data to Bluetooth audio output devices such as headphones and speakers.
- AAC: Provides better sound quality from wired devices than MP3 at similar bit rates.
- aptX: Provides a wireless sound in high-quality smartphones, speakers, soundbars, headphones, and tablets.
- aptX HD: Provides high-resolution streaming to Bluetooth devices.
- LDAC: Provides high-quality music listening over wireless connections.
It kinda describes each codec, but it's unfortunately not clear on what it means to select them.
I assume selecting one codec will force its use. (But what if a device doesn't support that one?) The default either always uses a static default setting (aptX on mine) (same question), or dynamically selects the best codec for the device and application.
sdptool
is also available on linux. You could run it under linux to query the Bluetooth MAC of your Android device for available services/profiles – Flow Feb 16 '12 at 12:59