From f1c3921b08bb22ac6f5db22d620e01d7e8e5c49f Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期一, 30 十二月 2019 13:32:33 +0800
Subject: [PATCH] 2019-12-30-1
---
ZigbeeApp/GateWay.Droid/Application.cs | 62 ++++++++++++++++++++++++++++++-
1 files changed, 60 insertions(+), 2 deletions(-)
diff --git a/ZigbeeApp/GateWay.Droid/Application.cs b/ZigbeeApp/GateWay.Droid/Application.cs
old mode 100755
new mode 100644
index b200e36..e4babb0
--- a/ZigbeeApp/GateWay.Droid/Application.cs
+++ b/ZigbeeApp/GateWay.Droid/Application.cs
@@ -15,7 +15,9 @@
using Microsoft.AppCenter.Analytics;
using Microsoft.AppCenter.Crashes;
using Com.Tencent.MM.Sdk.Openapi;
-
+using ZXing.Mobile;
+using System.IO;
+
namespace com.hdl.home
{
@@ -95,7 +97,7 @@
var req = new SendAuth.Req { Scope = "snsapi_userinfo", State = "ZigbeeApp" };
api.SendReq(req);
}
- /// <summary>鈥� /// 鎵�鏈夊垵濮嬪寲鍏ㄩ儴鍦ㄨ繖涓柟娉曞疄鐜扳�� /// </summary>鈥� void initAll()鈥� {鈥� BaseActivity.IsEnnableGPS = false;
+ /// <summary>鈥� /// 鎵�鏈夊垵濮嬪寲鍏ㄩ儴鍦ㄨ繖涓柟娉曞疄鐜扳�� /// </summary>鈥� void initAll()鈥� {鈥� // Shared.Application.IsGpsEnable = false;
//璁剧疆鏋佸厜璋冭瘯妯″紡锛屼负false鏃跺彧鎵撳嵃璀﹀憡淇℃伅
// System.Console.WriteLine($"AAA : {System.DateTime.Now.ToString()}");
#if Release鈥� JPushInterface.SetDebugMode(false);
@@ -273,3 +275,59 @@
}
}
}
+
+namespace Shared
+{
+ public static class QRCode
+ {
+ static ZXing.Mobile.MobileBarcodeScanner scanner;
+ public static void ScanQRcode(Action<string> action)
+ {
+ ((BaseActivity)Shared.Application.Activity).SetCamera(async (obj) => {
+ if (obj)
+ {
+ if (scanner == null)
+ {
+ MobileBarcodeScanner.Initialize(Shared.Application.Activity.Application);
+ scanner = new ZXing.Mobile.MobileBarcodeScanner();
+ }
+
+ var result = await scanner.Scan();
+
+ if (result != null)
+ action?.Invoke(result.Text);
+ else
+ action?.Invoke(null);
+
+ }
+ else
+ {
+ action?.Invoke(null);
+ }
+ });
+ }
+
+ public static byte[] BytesFromText(string text, int width = 300, int height = 300)
+ {
+ var barcodeWriter = new ZXing.Mobile.BarcodeWriter
+ {
+ Format = ZXing.BarcodeFormat.QR_CODE,
+ Options = new ZXing.Common.EncodingOptions
+ {
+ Width = width,
+ Height = height,
+ Margin = 0
+ }
+ };
+
+ barcodeWriter.Renderer = new ZXing.Mobile.BitmapRenderer();
+ var bitmap = barcodeWriter.Write(text);
+ using (var stream = new MemoryStream())
+ {
+ bitmap.Compress(Android.Graphics.Bitmap.CompressFormat.Png, 100, stream); // this is the diff between iOS and Android
+ stream.Position = 0;
+ return stream.ToArray();
+ }
+ }
+ }
+}
--
Gitblit v1.8.0