Итак, я пытаюсь получить список всех устройств Bluetooth (в частности, телефонов), но Флаттер, похоже, не видит телефоны. У меня этот метод вызывается нажатием кнопки просто для проверки того, что получает вывод Вот код для этого
//Listen to scan results
flutterBlue.startScan(timeout: Duration(seconds: 4));
var subscription = flutterBlue.scanResults.listen((scanResult) {
for (ScanResult scan in scanResult) {
BluetoothDevice device = scan.device;
print('${device.name} found! rssi: ${scan.rssi}dBm');
}
});
После нажатия кнопки я получаю следующее:
I/flutter (12864): Device1 found! rssi: -94dBm
I/flutter (12864): Device1 found! rssi: -94dBm
I/flutter (12864): found! rssi: -70dBm
I/flutter (12864): Device1 found! rssi: -94dBm
I/flutter (12864): found! rssi: -70dBm
I/flutter (12864): Jabra Evolve 75e found! rssi: -70dBm
I/flutter (12864): Device1 found! rssi: -94dBm
I/flutter (12864): found! rssi: -70dBm
I/flutter (12864): Jabra Evolve 75e found! rssi: -70dBm
I/flutter (12864): Inspire HR found! rssi: -86dBm
Происходят странные вещи. Кажется, я получаю дублирующиеся списки, и кажется, что есть устройство без имени. Но телефон, на котором я включил функцию обнаружения, не отображается. Я ожидаю что-то вроде этого: Moto G5 found! rssi:##dBm
Я также подключился напрямую к телефону и безуспешно пытался составить список всех подключенных устройств:
for (BluetoothDevice device in await flutterBlue.connectedDevices) {
print('Connected device: ${device.name} ${device.id}');
});
Выход:
D/FlutterBluePlugin(12864): mDevices size: 0
D/FlutterBluePlugin(12864): mDevices size: 0
I/Surface (12864): opservice is null false
Разве flutter_blue не поддерживает сканирование для телефонов? Я только начал использовать это, поэтому я не уверен, что я делаю.
Спасибо за помощь!