Я использую широковещательный приемник, чтобы попытаться определить, когда наушники Bluetooth подключаются/отключаются от устройства Android.
val filter = IntentFilter()
filter.addAction(BluetoothDevice.ACTION_ACL_CONNECTED)
filter.addAction(BluetoothDevice.ACTION_ACL_DISCONNECT_REQUESTED)
filter.addAction(BluetoothDevice.ACTION_ACL_DISCONNECTED)
И я обрабатываю событие таким образом:
device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE)
val major = device?.bluetoothClass?.majorDeviceClass;
val bluetoothClass = device?.bluetoothClass ?: return
Я получаю
major
как 1024
(то есть BluetoothClass.Device.Major.AUDIO_VIDEO
, что правильно)bluetoothClass.deviceClass
как 240404
, но его нет в списке признанных устройств Bluetooth.Я использую неправильное свойство для сравнения?
Какой же я глупый, я неправильно сравнивал. Что мне нужно сравнить, так это свойство deviceClass внутри bluetoothClass