我使用Xamarin表单来制作QR码阅读器应用程序。我发现了ZXing的一个实现,但由于在async
函数之外使用关键字await
而导致运行我的代码时出现错误。然而,这个教程是这样做的,但是我不知道我在做错误来抛出错误。Xamarin Forms ZXing QR代码错误
using Xamarin.Forms;
using ZXing.Net.Mobile.Forms;
namespace App3
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
var scanPage = new ZXingScannerPage();
scanPage.OnScanResult += (result) => {
// Stop scanning
scanPage.IsScanning = false;
// Pop the page and show the result
Device.BeginInvokeOnMainThread(() => {
Navigation.PopAsync();
DisplayAlert("Scanned Barcode", result.Text, "OK");
});
};
// Navigate to our scanner page
await Navigation.PushAsync(scanPage); // Here is the error
}
}
}
的错误是:
The 'await' operator can only be used within an async method. Consider marking this method with the 'async' modifier and changing its return type to 'Task'
当他从扫描页面返回时,将调用MainPage上的OnAppearing并将新的scanPage推上。它的好场景? – puko
@puko你是对的,没有接受。它需要验证用户是否正在从扫描页面返回。 – apineda