我使用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