import 'dart:typed_data'; import 'package:flutter/material.dart'; import 'dart:async'; import 'package:flutter/services.dart'; import 'package:flutter_bluetooth/flutter_bluetooth.dart'; void main() => runApp(MyApp()); class MyApp extends StatefulWidget { @override _MyAppState createState() => _MyAppState(); } class _MyAppState extends State { late Stream> _deviceStream; @override void initState() { super.initState(); _deviceStream = FlutterBluetooth.instance.startScan(); } @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar( title: const Text('Plugin example app'), ), body: StreamBuilder>(builder: (context, result){ return ListView.builder( itemCount: result.data?.length ?? 0, itemBuilder: (context, index){ return ListTile( title: Text(result.data![index].name ?? ''), subtitle: Text('DeviceClass:${result.data![index].deviceClass ?? -1}'), onTap: () async { // var socket = await result.data[index].createSocket('00001101-0000-1000-8000-00805F9B34FB'); // await socket.write(Uint8List.fromList([...'\x1BB'.codeUnits, 5, 9])); // await socket.close(); }, ); }, ); }, stream: _deviceStream,), ), ); } }