列出附近带有蓝牙功能的手机(flutter_blue包)

问题描述 投票:0回答:1

因此,我试图获取所有蓝牙设备(特别是手机)的列表,但Flutter似乎没有看到这些手机。我在按下按钮时调用了此方法,只是为了测试输出的内容。这是它的代码

//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是否不支持扫描手机?我刚刚开始使用它,所以我不确定自己在做什么。

感谢您的帮助!

flutter dart bluetooth flutter-dependencies
1个回答
0
投票

我的理解是,当手机被发现时,它不一定会做为BLE外围设备做广告。您是否希望将其视为BLE外设?如果是这种情况,那么我认为您需要在实现BLE外设并做广告的电话上运行应用程序。

您是否尝试过运行模拟外围设备的应用程序?

© www.soinside.com 2019 - 2024. All rights reserved.