目前我正在努力等待阅读我的二维码:
private async Task<string> ScanQRCode()
{
try
{
var options = new MobileBarcodeScanningOptions
{
AutoRotate = false,
UseFrontCameraIfAvailable = false,
TryHarder = true,
DelayBetweenContinuousScans = 1
};
var scanPage = new ZXingScannerPage(options)
{
DefaultOverlayTopText = "Align the barcode within the frame",
DefaultOverlayBottomText = string.Empty,
DefaultOverlayShowFlashButton = true
};
string barcodestring = string.Empty;
// Navigate to our scanner page
Device.BeginInvokeOnMainThread(async () =>
{
await _navigation.PushModalAsync(scanPage);
});
scanPage.OnScanResult += (result) =>
{
if (result.Text.IsValidJson<DeviceSetup>())
{
// Stop scanning
scanPage.IsScanning = false;
// Pop the page and show the result
Device.BeginInvokeOnMainThread(async () =>
{
await _navigation.PopModalAsync(true);
});
barcodestring = result.Text;
}
};
return barcodestring;
}
catch (System.Exception ex)
{
Device.BeginInvokeOnMainThread(async () =>
{
await _navigation.PopModalAsync(true);
await _page.DisplayAlert("Error", ex.Message, "OK");
});
return "Error";
}
}
调用方法继续执行并且不等待 QR-Result ..
这是为什么 ?