Flutter 颤振-如何在订阅前检查设备是否连接

Flutter 颤振-如何在订阅前检查设备是否连接,flutter,dart,async-await,bluetooth-lowenergy,Flutter,Dart,Async Await,Bluetooth Lowenergy,我正在使用这个插件尝试开发一个使用蓝牙模块的应用程序 GitHub 我试图修改源代码中包含的示例内容,以便设备列表的onTap能够连接并订阅特征 但是,似乎connectToDevice()方法被声明为流 并且在方法调用之前放置“wait”将不符合我的标准(在连接的设备上,然后订阅Ocharacteristic) 我如何做到这一点 我当前在设备列表中的内容。dart (device) => ListTile( title: Text(device.name), subtit

我正在使用这个插件尝试开发一个使用蓝牙模块的应用程序

GitHub

我试图修改源代码中包含的示例内容,以便设备列表的onTap能够连接并订阅特征

但是,似乎connectToDevice()方法被声明为流

并且在方法调用之前放置“wait”将不符合我的标准(在连接的设备上,然后订阅Ocharacteristic)

我如何做到这一点

我当前在设备列表中的内容。dart

(device) => ListTile(
    title: Text(device.name),
    subtitle: Text("${device.id}\nRSSI: ${device.rssi}"),
    leading: const BluetoothIcon(),
    onTap: () async {
        widget.stopScan();
        await widget.deviceConn.connect(device.id);
        //call to subscribeToCharacteristic(characteristic);
    });

await
仅在方法返回未来时有效。您应该侦听该流,当该流发出
connected
状态时,您执行subscribe调用。例如:

\u ble.connectToDevice(id:deviceId)。侦听(
(更新){
if(update.connectionState==DeviceConnectionState.connected){
//执行订阅
}
},

解释如何建立连接并侦听连接状态。这对您是否有帮助?hi@remonh87,侦听完成后,获取数据如何停止侦听?但保持连接而不断开连接?是的,当您停止侦听连接流时,设备将断开连接。