No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 
 
 
 

115 líneas
3.4 KiB

  1. // /*
  2. // 蓝牙测试场景
  3. // */
  4. // import 'package:flutter/material.dart';
  5. // import 'package:flutter_blue/flutter_blue.dart';
  6. // class BluetoothScene extends StatefulWidget {
  7. // @override
  8. // _BluetoothSceneState createState() => _BluetoothSceneState();
  9. // }
  10. // class _BluetoothSceneState extends State<BluetoothScene> {
  11. // FlutterBlue flutterBlue = FlutterBlue.instance;
  12. // List<BluetoothDevice> devicesList = [];
  13. // BluetoothDevice? connectedDevice;
  14. // BluetoothState? bluetoothState;
  15. // @override
  16. // void initState() {
  17. // super.initState();
  18. // flutterBlue.state.listen((state) {
  19. // setState(() {
  20. // bluetoothState = state;
  21. // });
  22. // });
  23. // flutterBlue.scanResults.listen((results) {
  24. // setState(() {
  25. // devicesList = results
  26. // .where((result) => result.device.name.isNotEmpty)
  27. // .map((result) => result.device)
  28. // .toList();
  29. // });
  30. // });
  31. // }
  32. // void startScan() {
  33. // flutterBlue.startScan(timeout: Duration(seconds: 4));
  34. // }
  35. // void stopScan() {
  36. // flutterBlue.stopScan();
  37. // }
  38. // void connectToDevice(BluetoothDevice device) async {
  39. // await device.connect();
  40. // setState(() {
  41. // connectedDevice = device;
  42. // });
  43. // listenToDeviceEvents(device);
  44. // }
  45. // void listenToDeviceEvents(BluetoothDevice device) {
  46. // device.state.listen((state) {
  47. // if (state == BluetoothDeviceState.connected) {
  48. // print('Device connected');
  49. // } else if (state == BluetoothDeviceState.disconnected) {
  50. // print('Device disconnected');
  51. // }
  52. // });
  53. // device.discoverServices().then((services) {
  54. // services.forEach((service) {
  55. // service.characteristics.forEach((characteristic) {
  56. // characteristic.setNotifyValue(true);
  57. // characteristic.value.listen((value) {
  58. // print('Received value: $value');
  59. // });
  60. // });
  61. // });
  62. // });
  63. // }
  64. // @override
  65. // Widget build(BuildContext context) {
  66. // return Scaffold(
  67. // appBar: AppBar(title: Text('Flutter Bluetooth Demo')),
  68. // body: Column(
  69. // children: [
  70. // if (bluetoothState == BluetoothState.off)
  71. // Text('Bluetooth is off, please turn it on'),
  72. // if (bluetoothState == BluetoothState.on)
  73. // Column(
  74. // children: [
  75. // ElevatedButton(
  76. // onPressed: startScan,
  77. // child: Text('Start Scan'),
  78. // ),
  79. // ElevatedButton(
  80. // onPressed: stopScan,
  81. // child: Text('Stop Scan'),
  82. // ),
  83. // ListView.builder(
  84. // shrinkWrap: true,
  85. // itemCount: devicesList.length,
  86. // itemBuilder: (context, index) {
  87. // return ListTile(
  88. // title: Text(devicesList[index].name),
  89. // subtitle: Text(devicesList[index].id.toString()),
  90. // onTap: () {
  91. // connectToDevice(devicesList[index]);
  92. // },
  93. // );
  94. // },
  95. // ),
  96. // if (connectedDevice != null)
  97. // Text('Connected to: ${connectedDevice?.name}')
  98. // ],
  99. // ),
  100. // ],
  101. // ),
  102. // );
  103. // }
  104. // }