Не могу получить AT-команды от Bluetooth-гарнитуры - PullRequest
3 голосов
/ 17 мая 2019

Я пытаюсь получить трансляцию AT-команды от гарнитуры Bluetooth (samsung made), она просто подключается, но приведенный ниже код ничего не дает, что мне здесь не хватает? Я в основном пытаюсь получить уровень заряда батареи гарнитуры

Любые указатели будут отличной помощью.

Вот так я регистрирую получателя.

    val intentFilter = IntentFilter()
    intentFilter.addAction(BluetoothHeadset.ACTION_VENDOR_SPECIFIC_HEADSET_EVENT)
    intentFilter.addCategory(BluetoothHeadset.VENDOR_SPECIFIC_HEADSET_EVENT_COMPANY_ID_CATEGORY + '.'.toString() + BluetoothAssignedNumbers.SAMSUNG_ELECTRONICS)
    registerReceiver(receiver, intentFilter)

Приемник вещания выглядит так

  private val receiver = object : BroadcastReceiver() {

    override fun onReceive(context: Context, intent: Intent) {
        val action = intent.action
        Log.d("COMMAND", "onReceive: " + action!!)
        if (action == BluetoothHeadset.ACTION_VENDOR_SPECIFIC_HEADSET_EVENT) {
            //not working
            val command = intent.getStringExtra(BluetoothHeadset.EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD)
            val type = intent.getIntExtra(BluetoothHeadset.EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD_TYPE, -1)
            Log.d("COMMAND", "onReceive: $command type: $type")
        }
    }

}
...