flutter_sunmi_scan 1.0.0+1
flutter_sunmi_scan: ^1.0.0+1 copied to clipboard
Flutter scan plugin based on SUNMI OS.
example/lib/main.dart
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_sunmi_scan/bean/scan_result_bean.dart';
import 'package:flutter_sunmi_scan/scan_sdk.dart';
import 'package:flutter_sunmi_scan/common/global_utils.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
String? scanResultStr = "";
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: const Text('PluginScanExample')),
body: SizedBox(
// padding: EdgeInsets.all(16), // 添加内边距
width: MediaQuery.of(context).size.width,
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
TextButton(
onPressed: () {
_startScan();
},
child: Text("StartScan"),
),
Text("ScanResult: $scanResultStr"),
],
),
),
),
);
}
void _startScan() {
setState(() {
scanResultStr = "";
});
try {
ScanSdk.instance.startScan((
int code,
List<ScanResultBean> resultList,
String? msg,
) {
if (code == 0 && resultList.isNotEmpty) {
setState(() {
scanResultStr = json.encode(resultList[0]);
});
}
});
} on PlatformException catch (e) {
GlobalUtils.logger.d("PlatformException: $e");
} catch (e) {
GlobalUtils.logger.d("Exception: $e");
}
}
}