私はQRコードリーダーアプリケーションを作成するためにXamarinフォームを使用しています。私はZXingによる実装を見つけましたが、async
機能の外でawait
キーワードを使用しているため、コードを実行しているときにエラーが発生しています。チュートリアルではこのようにしていますが、エラーをスローするために間違っていることはわかりません。Xamarinフォーム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で出現すると新しいscanPageがプッシュアップされます。その良いシナリオ? – puko
@pukoあなたは正しいです、それをキャッチしませんでした。ユーザーがスキャンページから戻るかどうかを確認する必要があります。 – apineda