【发布时间】:2017-04-18 23:22:09
【问题描述】:
我有一个 Xamarin.Forms 应用程序。我使用 ZXing.Mobile.Forms 扫描二维码;但是,当我将相机对准二维码时,OnScanResult 事件会被调用两次。这是我的代码,忠实再现了建议的 here:
private async void onScanQRCode(object sender, EventArgs e)
{
var scanPage = new ZXingScannerPage(); // executed just once
scanPage.OnScanResult += (result) => {
// Stop scanning
scanPage.IsScanning = false; // executed twice (confused)
// Pop the page and show the result
Device.BeginInvokeOnMainThread(() => {
Navigation.PopAsync();
/* Business code */
Account scannedAccount = URLInterpreter.Accept(result.Text);
ViewModel.ProcessNewAccount(scannedAccount);
/* End of business code */
});
};
// Navigate to our scanner page
await Navigation.PushAsync(scanPage);
}
这是调用上述方法的按钮的 XAML:
<Button x:Name="btnScanCode" Text="Scan QR Code" Clicked="onScanQRCode" />
任何指针?
更新 显然,这只发生在我调试应用程序并且手机连接到 Visual Studio 时。如果我在未附加调试器的情况下启动应用程序,则会触发一次事件。
【问题讨论】:
标签: xamarin.forms zxing