/ / Bluetooth предавател, как да получите BleutoothClass - андроид, Android-intent, bluetooth, broadcastreceiver

Bluetooth broadcastreceiver, как да получите BleutoothClass - Android, Android-намерение, bluetooth, broadcastreceiver

Искам да направя bluetooth broadcastreceiver, който само реагира на свързването към Bluetooth комплект за автомобили за свободни ръце, Но не знам как да го филтрирам.

Има ли някакъв начин как да се получи BluetoothClass.Device от намерението или е друг начин да го получите?

Започнах с нещо подобно надолу, но не успях. Едно допълнение, ако изключите от устройство, се активира следният блок-блок (работи само без това final int state = intent.getIntExtra(???);

if (action.equals("android.bluetooth.device.action.ACL_CONNECTED")) {
final int state = intent.getIntExtra(???);
}

Надявам се, че можеш да ми помогнеш, резервоари за всички вас.


РЕШЕНИЕ:

BluetoothDevice device = (BluetoothDevice) intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);

int btClass = device.getBluetoothClass().getDeviceClass();

if (btClass == BluetoothClass.Device.AUDIO_VIDEO_HANDSFREE|| btClass == BluetoothClass.Device.AUDIO_VIDEO_CAR_AUDIO){...}

Отговори:

0 за отговор № 1

Вие ще искате да регистрирате вашия BroadcastReceiverс филтър, който слуша BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED (Класът BluetoothHeadset е за слушалки и "handsfree" профили). Трябва също така да добавите разрешението за BLUETOOTH към манифеста си.

Това просто ще ви направи промяна на връзката, така че ще трябва да използвате Bluetooth API, за да разберете дали е свързан или изключен.

За да получите устройството, можете да използвате BluetoothHeadset.getDevicesMatchingConnectionStates (int [] състояния), за да получите списък на всички свързани устройства, които са свързани.