startScan method
Implementation
Future<void> startScan() async {
try {
await FlutterBluePlus.startScan();
if (Platform.isAndroid) {
_devicesstream.add((await FlutterBluePlus.systemDevices([]))
.map((e) => Printer(
address: e.remoteId.str,
name: e.platformName,
connectionType: ConnectionType.BLE,
isConnected: e.isConnected,
))
.toList());
// Bonded devices
_devicesstream.add((await FlutterBluePlus.bondedDevices)
.map((e) => Printer(
address: e.remoteId.str,
name: e.platformName,
connectionType: ConnectionType.BLE,
isConnected: e.isConnected,
))
.toList());
}
subscription = FlutterBluePlus.scanResults.listen((device) {
_devicesstream.add(
device.map(
(e) {
return Printer(
address: e.device.remoteId.str,
name: e.device.platformName,
connectionType: ConnectionType.BLE,
isConnected: e.device.isConnected,
);
},
).toList(),
);
});
} catch (e) {
log('Failed to start scanning for devices $e');
}
}