From cbc156bc38d8b8eae7aef60cb186ab2b52fa701f Mon Sep 17 00:00:00 2001 From: wxr <wxr@hdlchina.com.cn> Date: 星期二, 16 七月 2024 13:59:56 +0800 Subject: [PATCH] 增加全部挂断 --- HDL-ON_Android/Scan.cs | 84 ++++++++++++++++++++++-------------------- 1 files changed, 44 insertions(+), 40 deletions(-) diff --git a/HDL-ON_Android/Scan.cs b/HDL-ON_Android/Scan.cs index 0a5f4dc..ee51da6 100644 --- a/HDL-ON_Android/Scan.cs +++ b/HDL-ON_Android/Scan.cs @@ -6,65 +6,50 @@ namespace HDL_ON { - public class Scan + public class Scan: Java.Lang.Object,HDL_ON_Android.ScanActivity.ScanResult { public Scan() { } - public static string TipMsg = string.Empty; + private static Scan ins; - static MobileBarcodeScanner scanner; - public static void OpenScan(Action<string> action) + public static Scan Ins { - string cancel = "鍙栨秷"; - string flashText = ""; - string titleText = "浜岀淮鐮佹壂鎻�"; - if (Language.CurrentLanguage != "Chinese") + get { - cancel = "Cancel"; - flashText = ""; - titleText = "Scan"; + if (ins == null) + { + ins = new Scan(); + } + return ins; } + + } + + public string TipMsg = string.Empty; + + Action<string> resultAction; + static MobileBarcodeScanner scanner; + + + public void OpenScan(Action<string> action) + { + resultAction = action; ((BaseActivity)Shared.Application.Activity).SetCamera(async (obj) => { - if (obj) + if (obj)//鏉冮檺鏄惁鎵撳紑 { if (scanner == null) { - MobileBarcodeScanner.Initialize(Shared.Application.Activity.Application); - var mZXingCustomScanView = new ZXingCustomScanView(Shared.Application.Activity.Application); - mZXingCustomScanView.cancelTextView.Text = cancel; - mZXingCustomScanView.flashTextView.Text = flashText; - mZXingCustomScanView.titleTextView.Text = titleText; - var bOn = false; - scanner = new ZXing.Mobile.MobileBarcodeScanner() - { - UseCustomOverlay = true, - CustomOverlay = mZXingCustomScanView - }; - mZXingCustomScanView.OnCancel += () => - { + var intent = new Intent(Shared.Application.Activity, typeof(HDL_ON_Android.ScanActivity)); + Shared.Application.Activity.StartActivity(intent); - scanner?.Cancel(); - }; + HDL_ON_Android.ScanActivity.InitDdd(this); - mZXingCustomScanView.OnTorch += () => - { - bOn = !bOn; - scanner?.Torch(bOn); - }; } - - var result = await scanner.Scan(); - - if (result != null) - action?.Invoke(result.Text); - else - action?.Invoke(null); - } else { @@ -98,6 +83,8 @@ public static byte[] BytesFromText(string text, int width = 300, int height = 300) { + if (text == "") return null; + var barcodeWriter = new ZXing.Mobile.BarcodeWriter { Format = ZXing.BarcodeFormat.QR_CODE, @@ -149,5 +136,22 @@ // } // }); //} + + + //static void initFromCameraParameters(Android.Graphics.Camera camera) + //{ + // //camera.SetLocation + //} + + public void onResult(string result) + { + if (!string.IsNullOrEmpty( result)) + resultAction?.Invoke(result); + else + resultAction?.Invoke(null); + } } + + + } -- Gitblit v1.8.0