Колтин : ACTION_BOND_STATE_CHANGED не возвращает устройство Bluetooth.BOND_BONDED

#kotlin #android-bluetooth

Вопрос:

Итак, у меня есть устройство, на котором мне нужно ввести pin-код, все это работает, однако я не могу определить, когда соединение завершено, только когда соединение началось.

Android 10

  if (action == BluetoothDevice.ACTION_BOND_STATE_CHANGED) {
    val state = intent.extras?.get(BluetoothDevice.EXTRA_BOND_STATE) as Int

    val device = getParcelableExtra<BluetoothDevice>(BluetoothDevice.EXTRA_DEVICE)
    val previousBondState = getIntExtra(BluetoothDevice.EXTRA_PREVIOUS_BOND_STATE, -1)
    val bondState = getIntExtra(BluetoothDevice.EXTRA_BOND_STATE, -1)
    val bondTransition = "${previousBondState.toBondStateDescription()} to "  
                            bondState.toBondStateDescription()
    Timber.w("${device?.address} bond state changed | $bondTransition  ${state.toBondStateDescription()}")
 }

fun listenToBondStateChanges(context: Context) {
        context.applicationContext.registerReceiver(
            viewModel.btConnectionManager.broadcastReceiver,
            IntentFilter(BluetoothDevice.ACTION_BOND_STATE_CHANGED)
        )
    }