public void OnActivityResult(int requestCode, Result resultCode, Intent data) { if (requestCode == androidHostActivity.ScanActivityRequestCode) { if (resultCode == Result.Ok) { recognizerBundle.LoadFromIntent(data); MessagingCenter.Send(new Messages.ScanningDoneMessage { ScanningCancelled = false }, Messages.ScanningDoneMessageId); } else { MessagingCenter.Send(new Messages.ScanningDoneMessage { ScanningCancelled = true }, Messages.ScanningDoneMessageId); } } }
public void OnActivityResult(int requestCode, Result resultCode, Intent data) { if (requestCode == androidHostActivity.ScanActivityRequestCode) { if (resultCode == Result.Ok) { if (recognizerBundle != null) { recognizerBundle.LoadFromIntent(data); } if (documentCaptureRecognizerTransferable != null) { documentCaptureRecognizerTransferable.LoadFromIntent(data); var capturedFullImage = documentCaptureRecognizerTransferable.CapturedFullImage; documentCaptureRecognizerWrapper.CapturedFullImage = capturedFullImage != null?Utils.ConvertAndroidBitmap(capturedFullImage.Image.ConvertToBitmap()) : null; } if (fieldByFieldBundle != null) { fieldByFieldBundle.LoadFromIntent(data); var scanElements = fieldByFieldBundle.GetElements(); for (int i = 0; i < scanElements.Length; ++i) { fieldByFieldCollection.FieldByFieldElements[i].Value = scanElements[i].Parser.GetResult().ToString(); } } MessagingCenter.Send(new Messages.ScanningDoneMessage { ScanningCancelled = false }, Messages.ScanningDoneMessageId); } else { MessagingCenter.Send(new Messages.ScanningDoneMessage { ScanningCancelled = true }, Messages.ScanningDoneMessageId); } } }
protected override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data) { base.OnActivityResult(requestCode, resultCode, data); if (requestCode == ACTIVITY_REQUEST_ID && resultCode == Result.Ok) { // load results from intent recognizerBundle.LoadFromIntent(data); // obtain image view that will display image of the document ImageView documentImageFrontView = this.FindViewById <ImageView>(Resource.Id.documentImageFrontView); // unfortunately, C# does not support covariant return types, so binding // of AAR loses the return type of the Java's GetResult method. Therefore, a cast is required. // This is always a safe cast, since the original object in Java is of correct type - type // information was lost during conversion to C# due to https://github.com/xamarin/java.interop/pull/216 var blinkidResult = (BlinkIdRecognizer.Result)blinkidRecognizer.GetResult(); // var mrtdResult = (MrtdRecognizer.Result)mrtdRecognizer.GetResult(); var message = ""; // we can check ResultState property of the Result to see if the result contains scanned information if (blinkidResult.ResultState == Recognizer.Result.State.Valid) { message += "BlinkID recognizer result:\n" + "FirstName: " + blinkidResult.FirstName + "\n" + "LastName: " + blinkidResult.LastName + "\n" + "Address: " + blinkidResult.Address + "\n" + "DocumentNumber: " + blinkidResult.DocumentNumber + "\n" + "Sex: " + blinkidResult.Sex + "\n"; var dob = blinkidResult.DateOfBirth.Date; if (dob != null) { message += "DateOfBirth: " + dob.Day + "." + dob.Month + "." + dob.Year + ".\n"; } var doi = blinkidResult.DateOfIssue.Date; if (doi != null) { message += "DateOfIssue: " + doi.Day + "." + doi.Month + "." + doi.Year + ".\n"; } var doe = blinkidResult.DateOfExpiry.Date; if (doe != null) { message += "DateOfExpiry: " + doe.Day + "." + doe.Month + "." + doe.Year + ".\n"; } // there are other fields to extract // show full document images if (blinkidResult.FullDocumentImage != null) { documentImageFrontView.SetImageBitmap(blinkidResult.FullDocumentImage.ConvertToBitmap()); } else { documentImageFrontView.SetImageResource(0); } } AlertDialog.Builder alert = new AlertDialog.Builder(this); alert.SetTitle("BlinkID Results"); alert.SetPositiveButton("OK", (senderAlert, args) => { }); alert.SetMessage(message); alert.Show(); } }