Копирование большей части поведения включения и отключения Bluetooth вручную в Android - PullRequest
0 голосов
/ 11 февраля 2020

Я проверял следующее в разрабатываемом приложении.

Время от времени похоже, что bluetooth перестает обнаруживать определенное устройство без видимых причин для этого.

Я также проверил, что если я отключаю Bluetooth, развернув панель уведомлений в опции, предлагаемой для включения / отключения, а затем включив ее снова, устройство снова будет обнаружено.

Я пытался скопировать это поведение со следующим кодом:

Я определил эту функцию:

fun setBluetooth(enable: Boolean): Boolean {
        val bluetoothAdapter = BluetoothAdapter.getDefaultAdapter()
        val isEnabled = bluetoothAdapter.isEnabled
        if (enable && !isEnabled) {
            return bluetoothAdapter.enable()
        } else if (!enable && isEnabled) {
            return bluetoothAdapter.disable()
        }
// No need to change bluetooth state
        return true
    }

, который используется следующим образом:

setBluetooth(false)

var handler=Handler()

handler.postDelayed(Runnable {
    setBluetooth(true)
},5000)

var handler2=Handler()
handler2.postDelayed(Runnable {
//code which connects to device via bluetooth
},10000)

Но это не ' не работает.

Кроме того, я не хотел бы копировать все поведение из ручного включения / отключения Bluetooth в расширенной панели уведомлений, при включении которого появляется диалоговое окно о сопряженных устройствах, которое не может появиться в моем приложении.

Но было бы неплохо скопировать все остальные функции, кроме отображения этого диалога.

Есть идеи, как добиться такого поведения?

...