简体   繁体   中英

How to differentiate the connected bluetooth device in android programmatically?

Whether it is a bluetooth headset or mobile phones?

how to differentiate the bluetooth headset and bluetooth enabled android device in android code.

I am developing a small application,in that I have a feature of blocking the data transfer via bluetooth but it need to allow communication via bluetooth headset.

Please help me on this to differentiate the connected bluetooth device as headset /android devices(mobile phone).etc.,

Thank you in advance.

Once you scan and find a BluetoothDevice call the method BluetoothDevice.getBluetoothClass() . This will return a BluetoothClass object and the documentation states the following:

Represents a Bluetooth class, which describes general characteristics and capabilities of a device. For example, a Bluetooth class will specify the general device type such as a phone, a computer, or headset, and whether it's capable of services such as audio or telephony.

So before you allow the user to select the device to connect to, or to filter the list of BluetoothDevice s shown, try seeing if the BluetoothClass has the correct device type.

BluetoothClass bluetoothClass = bluetoothDevice.getBluetoothClass();
if(bluetoothClass.getDeviceClass() == BluetoothClass.Device.AUDIO_VIDEO_HEADPHONES) {
    // allow user to select this device. I'm not sure exactly which type
    // headphones will be but this is a good guess. You can connect to
    // your Bluetooth headset to find out for sure.
}

The different device class constants can be found here in case you want to differentiate by device class further.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM