import'package:bluetooth_classic/bluetooth_classic.dart';
import'package:bluetooth_classic/models/device.dart';
final _bluetoothClassicPlugin = BluetoothClassic();
List<Device> _discoveredDevices = [];
await _bluetoothClassicPlugin.initPermissions();
_bluetoothClassicPlugin.onDeviceDiscovered().listen(
(event) {
_discoveredDevices = [..._discoveredDevices, event];
},
);
await _bluetoothClassicPlugin.startScan();
// when you want to stop scanningawait _bluetoothClassicPlugin.stopScan();
Connecting to a device, reading and sending data to it
import'package:bluetooth_classic/bluetooth_classic.dart';
final _bluetoothClassicPlugin = BluetoothClassic();
Uint8List _data = Uint8List(0);
await _bluetoothClassicPlugin.initPermissions();
// connect to a device with its MAC address and the application uuid you want to use (in this example, serial)await _bluetoothClassicPlugin.connect("AA:AA:AA:AA", "00001101-0000-1000-8000-00805f9b34fb");
// NB: I'm not doing error checking or seeing if the device is still connected in this code, check the [example folder](/example/lib/main.dart) for a more thorough demonstration// send data to deviceawait _bluetoothClassicPlugin.write("ping");
//
_bluetoothClassicPlugin.onDeviceDataReceived().listen((event) {
setState(() {
_data = Uint8List.fromList([..._data, ...event]);
});
});
// disconnect when doneawait _bluetoothClassicPlugin.disconnect();
Example Code
You can find the latest example code in the example folder