Вывод списка соседних телефонов с включенным Bluetooth (пакет flutter_blue) - PullRequest
0 голосов
/ 29 апреля 2020

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

Спасибо за помощь!

...