From 3291885285dfd5d4f665c20676307878dc3163bc Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期五, 20 十二月 2019 16:28:53 +0800
Subject: [PATCH] 请合并最新代码(优化设备不支持的功能)
---
ZigbeeApp/GateWay.Droid/Application.cs | 63 ++++++++++++++++++++++++++++++-
1 files changed, 61 insertions(+), 2 deletions(-)
diff --git a/ZigbeeApp/GateWay.Droid/Application.cs b/ZigbeeApp/GateWay.Droid/Application.cs
index b200e36..2cdce88 100755
--- 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,8 @@
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 +276,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