【发布时间】:2020-06-22 11:08:28
【问题描述】:
我想在后台开始连续搜索蓝牙设备,并在检测到设备“X”时发送通知。
此时我每 5 秒运行一次定期计时器,在此期间我执行新的扫描
即使我关闭了应用程序,我该如何进行此扫描?
Timer.periodic(Duration(milliseconds: 5000), (timer) => discovery());
void discovery() {
var tmp = new Map<String, BluetoothDevice>();
FlutterBluetoothSerial.instance.startDiscovery().listen((r) {
tmp.putIfAbsent(r.device.address, () => r.device);
app.onDiscovery(r);
}).onDone(() {
_isDiscovering = false;
});
}
我想要一个兼容 IOS 和 Android 的解决方案。
谢谢你,美好的一天。
【问题讨论】:
-
据我所知,FlutterBluetoothSerial 与 iOS BLE (Bluetooth 4.0 +) 设备不兼容。因为它主要与蓝牙2.0的HC-5兼容。关于后台任务,您可以使用其他一些 pkg 'flutter_beacon' 来实现,它具有内置流式'监控,用于后台跟踪。
标签: android ios flutter dart bluetooth