sunmi_flutter_plugin_scan 1.0.4+5 copy "sunmi_flutter_plugin_scan: ^1.0.4+5" to clipboard
sunmi_flutter_plugin_scan: ^1.0.4+5 copied to clipboard

PlatformAndroid

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:sunmi_flutter_plugin_scan/bean/scan_result_bean.dart';
import 'package:sunmi_flutter_plugin_scan/scan_sdk.dart';
import 'package:sunmi_flutter_plugin_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,
      ) {
        GlobalUtils.logger.d("startScan Result: $code, $resultList, $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");
    }
  }
}