xamarin.forms 使用ZXing掃描二維碼
阿新 • • 發佈:2018-12-20
1. Android工程包含ZXing.Net.Mobile.Forms
2. 在C# 工程中, 包含ZXing.Net.Mobile
3. 在Android工程的MainActivity.cs中, 新增下面程式碼:
global::ZXing.Net.Mobile.Forms.Android.Platform.Init();
ZXing.Mobile.MobileBarcodeScanner.Initialize(this.Application);
using System; using Android.App; using Android.Content.PM; using Android.Runtime; using Android.Views; using Android.Widget; using Android.OS; namespace TestScan.Droid { [Activity(Label = "TestScan", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity { protected override void OnCreate(Bundle bundle) { TabLayoutResource = Resource.Layout.Tabbar; ToolbarResource = Resource.Layout.Toolbar; base.OnCreate(bundle); global::Xamarin.Forms.Forms.Init(this, bundle); global::ZXing.Net.Mobile.Forms.Android.Platform.Init(); ZXing.Mobile.MobileBarcodeScanner.Initialize(this.Application); LoadApplication(new App()); } } }
4. 在C#頁面工程中就可以這樣呼叫掃碼功能了:
private async void Button_Clicked(object sender, EventArgs e)
{
var scanner = new ZXing.Mobile.MobileBarcodeScanner();
var result = await scanner.Scan();
if (result != null)
Console.WriteLine("Scanned Barcode: " + result.Text);
}