Обнаружение изменений состояния, сделанных в адаптере Bluetooth?

У меня есть приложение с кнопкой, которое я использую для включения и выключения BT. У меня есть следующий код там;

public void buttonFlip(View view) {
    flipBT();
    buttonText(view);
}

public void buttonText(View view) {  
    Button buttonText = (Button) findViewById(R.id.button1);
    if (mBluetoothAdapter.isEnabled() || (mBluetoothAdapter.a)) {
        buttonText.setText(R.string.bluetooth_on);  
    } else {
        buttonText.setText(R.string.bluetooth_off);
    }
}

private void flipBT() {
    if (mBluetoothAdapter.isEnabled()) {
        mBluetoothAdapter.disable();    
    } else {
        mBluetoothAdapter.enable();
    }
}

Я вызываю кнопку Flip, которая переворачивает состояние BT, а затем вызывает ButtonText, который должен обновить интерфейс. Однако проблема, с которой я столкнулся, заключается в том, что BT включается через несколько секунд, и в течение этих секунд состояние BT не активируется, и моя кнопка отключает Bluetooth, даже если он будет включен через 2 секунды.

Я нашелSTATE_CONNECTING константа в документации BluetoothAdapter для Android, но ... я просто не знаю, как ее использовать, будучи новичком и все такое.

Итак, у меня есть два вопроса:

Есть ли способ динамически привязать элемент пользовательского интерфейса (например, кнопку или изображение) к состоянию BT, чтобы при изменении состояния BT эта кнопка также менялась?В противном случае, я бы хотел нажать кнопку и получить правильное состояние (я хотел бы, чтобы он включил BT, даже если он только подключается, так как он будет включен через 2 секунды). Как мне это сделать?

Ответы на вопрос(1)

Ваш ответ на вопрос