12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- 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<MyApp> {
- late Stream<List<BluetoothDevice>> _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<List<BluetoothDevice>>(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,),
- ),
- );
- }
- }
|