Пример #1
0
 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);
         }
     }
 }
Пример #2
0
 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);
         }
     }
 }
Пример #3
0
        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();
            }
        }