Я проверял следующее в разрабатываемом приложении.
Время от времени похоже, что 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 в расширенной панели уведомлений, при включении которого появляется диалоговое окно о сопряженных устройствах, которое не может появиться в моем приложении.
Но было бы неплохо скопировать все остальные функции, кроме отображения этого диалога.
Есть идеи, как добиться такого поведения?