main.dart 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import 'dart:typed_data';
  2. import 'package:flutter/material.dart';
  3. import 'dart:async';
  4. import 'package:flutter/services.dart';
  5. import 'package:flutter_bluetooth/flutter_bluetooth.dart';
  6. void main() => runApp(MyApp());
  7. class MyApp extends StatefulWidget {
  8. @override
  9. _MyAppState createState() => _MyAppState();
  10. }
  11. class _MyAppState extends State<MyApp> {
  12. Stream<List<BluetoothDevice>> _deviceStream;
  13. @override
  14. void initState() {
  15. super.initState();
  16. _deviceStream = FlutterBluetooth.instance.startScan(filterClasses: [1664 ,7936]);
  17. }
  18. @override
  19. Widget build(BuildContext context) {
  20. return MaterialApp(
  21. home: Scaffold(
  22. appBar: AppBar(
  23. title: const Text('Plugin example app'),
  24. ),
  25. body: StreamBuilder<List<BluetoothDevice>>(builder: (context, result){
  26. return ListView.builder(
  27. itemCount: result.data.length,
  28. itemBuilder: (context, index){
  29. return ListTile(
  30. title: Text(result.data[index].name ?? ''),
  31. onTap: () async {
  32. var socket = await result.data[index].createSocket('00001101-0000-1000-8000-00805F9B34FB');
  33. await socket.write(Uint8List.fromList([...'\x1BB'.codeUnits, 5, 9]));
  34. await socket.close();
  35. },
  36. );
  37. },
  38. );
  39. }, stream: _deviceStream,),
  40. ),
  41. );
  42. }
  43. }