Когда срабатывает android .bluetooth.headset.action.VENDOR_SPECIFIC_HEADSET_EVENT? - PullRequest
0 голосов
/ 23 февраля 2020

В моем приложении я хочу получить информацию об аккумуляторе от гарнитуры Bluetooth. Я прочитал, что «android .bluetooth.headset.action.VENDOR_SPECIFIC_HEADSET_EVENT» передает информацию о датчике, из которой можно получить информацию об аккумуляторе.

Я добавил необходимые действия и категории.

 private fun registerForBluetoothChanges(context: Context) {
    val bluetoothIntentFilter = IntentFilter()
    bluetoothIntentFilter.addCategory(BluetoothHeadset.VENDOR_SPECIFIC_HEADSET_EVENT_COMPANY_ID_CATEGORY + "." + BluetoothAssignedNumbers.PLANTRONICS)

    bluetoothIntentFilter.addCategory(BluetoothHeadset.VENDOR_SPECIFIC_HEADSET_EVENT_COMPANY_ID_CATEGORY + "." + BluetoothAssignedNumbers.SAMSUNG_ELECTRONICS
    )
    bluetoothIntentFilter.addAction(BluetoothDevice.ACTION_ACL_CONNECTED);
    bluetoothIntentFilter.addAction(BluetoothDevice.ACTION_ACL_CONNECTED);
    bluetoothIntentFilter.addAction(BluetoothDevice.ACTION_ACL_DISCONNECT_REQUESTED);
    bluetoothIntentFilter.addAction(BluetoothDevice.ACTION_ACL_DISCONNECTED);
    bluetoothIntentFilter.addAction(BluetoothHeadset.ACTION_VENDOR_SPECIFIC_HEADSET_EVENT);
    bluetoothIntentFilter.addAction(BluetoothHeadset.ACTION_AUDIO_STATE_CHANGED);
    bluetoothIntentFilter.addAction(BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED);
    BluetoothListener.registerReceiver(context.applicationContext, bluetoothIntentFilter)
}

Я также объявил разрешение Bluetooth в манифесте. Мои запросы:

  1. Можно ли использовать вышеуказанную трансляцию для прослушивания изменений батареи? Если да, когда событие будет запущено?
  2. Событие широковещания не было получено. Пробовал с наушниками Samsung level U на Moto G6 (Android 9) и Samsung Tab A (Android 8.1). Здесь есть что-то, чего мне не хватает?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...