После вызова startDiscovery() для получения списка доступных bluetooth-устройств ничего не происходит
В моем приложении требуется получать список доступных для подключения bluetooth-устройств. Делаю это по кнопке discoverBtn
//get list of available devices
discoverBtn.setOnClickListener{
bluetooth.cancelDiscovery()
Log.d("BLUETOOTH", "DiscoverBtn: Canceling discovery.")
bluetooth.startDiscovery()
Log.d("BLUETOOTH", "DiscoverBtn: Start discovery.")
if (bluetooth.isDiscovering){
Log.d("BLUETOOTH", "DiscoverBtn: discovering is in progress.")
}
val bluetoothDeviceIntent = IntentFilter(BluetoothDevice.ACTION_FOUND)
registerReceiver(mBroadcastReceiver, bluetoothDeviceIntent)
discoveredTv.text = "Available devices"
}
val mBroadcastReceiver = object : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
val action: String = intent.action
Log.d("BLUETOOTH", "onReceive: ACTION FOUND")
when(action) {
BluetoothDevice.ACTION_FOUND -> {
val device: BluetoothDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE)
Log.d("BLUETOOTH", "onReceive: ${device.name} : ${device.address}")
discoveredTv.append("\nDevice: ${device.name} : ${device.address}")
}
}
}
}
после обнаружения устройство должно выводится в логи и добавляться предварительно в TextView. Проблема в том, что после нажатия на кнопку, согласно логам, сканирование доступных устройств не ведется. В чем может быть причина?
Вывод логов после нажатия на кнопку (bluetooth.isDiscovering)
2021-07-30 17:38:58.320 D/BLUETOOTH: DiscoverBtn: Canceling discovery.
2021-07-30 17:38:58.323 D/BLUETOOTH: DiscoverBtn: Start discovery.
2021-07-30 17:38:58.326 D/BLUETOOTH: isDiscovering: false
почему не отрабатывает bluetooth.startDiscovery()?