partial void StartScanningButton_TouchUpInside(UIButton sender)
        {
            blinkIdRecognizer = new MBBlinkIdRecognizer();

            // create a collection of recognizers that will be used for scanning
            var recognizerCollection = new MBRecognizerCollection(new MBRecognizer[] { blinkIdRecognizer });

            // create a settings object for overlay that will be used. For ID it's best to use DocumentOverlayViewController
            // there are also other overlays available - check iOS documentation
            var blinkIdOverlaySettings = new MBBlinkIdOverlaySettings();
            var blinkIdOverlay         = new MBBlinkIdOverlayViewController(blinkIdOverlaySettings, recognizerCollection, customDelegate);

            // finally, create a recognizerRunnerViewController
            var recognizerRunnerViewController = MBViewControllerFactory.RecognizerRunnerViewControllerWithOverlayViewController(blinkIdOverlay);

            // in ObjC recognizerRunnerViewController would actually be of type UIViewController<MBRecognizerRunnerViewController>*, but this construct
            // is not supported in C#, so we need to use Runtime.GetINativeObject to cast obtained IMBReocognizerRunnerViewController into UIViewController
            // that can be presented
            this.PresentViewController(ObjCRuntime.Runtime.GetINativeObject <UIViewController>(recognizerRunnerViewController.Handle, false), true, null);
        }
 public override void BlinkIdOverlayViewControllerDidTapClose(MBBlinkIdOverlayViewController BlinkIdOverlayViewController)
 {
     overlayVCDelegate.CloseButtonTapped(BlinkIdOverlayViewController);
 }
 public override void BlinkIdOverlayViewControllerDidFinishScanning(MBBlinkIdOverlayViewController BlinkIdOverlayViewController, MBRecognizerResultState state)
 {
     overlayVCDelegate.ScanningFinished(BlinkIdOverlayViewController, state);
 }
            public override void BlinkIdOverlayViewControllerDidFinishScanning(MBBlinkIdOverlayViewController blinkIdOverlayViewController, MBRecognizerResultState state)
            {
                // this method is called on background processing thread. The scanning will resume as soon
                // as this method ends, so in order to have unchanged results at the time of displaying UIAlertView
                // pause the scanning
                blinkIdOverlayViewController.RecognizerRunnerViewController.PauseScanning();

                var title   = "Result";
                var message = "";

                // each recognizer has Result property which contains recognized data after scanning has been finished

                // we can check ResultState property of the Result to see if the result contains scanned information
                if (me.blinkIdRecognizer.Result.ResultState == MBRecognizerResultState.Valid)
                {
                    var blinkidResult = me.blinkIdRecognizer.Result;
                    message += "BlinkID recognizer result:\n" +
                               BuildResult(blinkidResult.FirstName, "First name") +
                               BuildResult(blinkidResult.LastName, "Last name") +
                               BuildResult(blinkidResult.FullName, "Full name") +
                               BuildResult(blinkidResult.LocalizedName, "Localized name") +
                               BuildResult(blinkidResult.AdditionalNameInformation, "Additional name info") +
                               BuildResult(blinkidResult.Address, "Address") +
                               BuildResult(blinkidResult.AdditionalAddressInformation, "Additional address info") +
                               BuildResult(blinkidResult.DocumentNumber, "Document number") +
                               BuildResult(blinkidResult.DocumentAdditionalNumber, "Additional document number") +
                               BuildResult(blinkidResult.Sex, "Sex") +
                               BuildResult(blinkidResult.IssuingAuthority, "Issuing authority") +
                               BuildResult(blinkidResult.Nationality, "Nationality") +
                               BuildResult(blinkidResult.DateOfBirth, "DateOfBirth") +
                               BuildResult(blinkidResult.Age, "Age") +
                               BuildResult(blinkidResult.DateOfIssue, "Date of issue") +
                               BuildResult(blinkidResult.DateOfExpiry, "Date of expiry") +
                               BuildResult(blinkidResult.DateOfExpiryPermanent, "Date of expiry permanent") +
                               BuildResult(blinkidResult.MaritalStatus, "Martial status") +
                               BuildResult(blinkidResult.PersonalIdNumber, "Personal Id Number") +
                               BuildResult(blinkidResult.Profession, "Profession") +
                               BuildResult(blinkidResult.Race, "Race") +
                               BuildResult(blinkidResult.Religion, "Religion") +
                               BuildResult(blinkidResult.ResidentialStatus, "Residential Status");

                    MBDriverLicenseDetailedInfo licenceInfo = blinkidResult.DriverLicenseDetailedInfo;
                    if (licenceInfo != null)
                    {
                        message +=
                            BuildResult(licenceInfo.Restrictions, "Restrictions") +
                            BuildResult(licenceInfo.Endorsements, "Endorsements") +
                            BuildResult(licenceInfo.VehicleClass, "Vehicle class") +
                            BuildResult(licenceInfo.Conditions, "Conditions");
                    }
                }

                UIApplication.SharedApplication.InvokeOnMainThread(delegate
                {
                    UIAlertView alert = new UIAlertView()
                    {
                        Title   = title,
                        Message = message
                    };
                    alert.AddButton("OK");
                    alert.Show();
                    // after alert dialog is dismissed, you can either resume scanning with
                    // documentOverlayViewController.RecognizerRunnerViewController.ResumeScanningAndResetState(true)
                    // or you can simply dismiss the RecognizerRunnerViewController
                    alert.Dismissed += (sender, e) => me.DismissViewController(true, null);
                });
            }
 public override void BlinkIdOverlayViewControllerDidTapClose(MBBlinkIdOverlayViewController blinkIdOverlayViewController)
 {
     me.DismissViewController(true, null);
 }
Exemple #6
0
            public override void BlinkIdOverlayViewControllerDidFinishScanning(MBBlinkIdOverlayViewController blinkIdOverlayViewController, MBRecognizerResultState state)
            {
                // this method is called on background processing thread. The scanning will resume as soon
                // as this method ends, so in order to have unchanged results at the time of displaying UIAlertView
                // pause the scanning
                blinkIdOverlayViewController.RecognizerRunnerViewController.PauseScanning();

                var title   = "Result";
                var message = "";

                // each recognizer has Result property which contains recognized data after scanning has been finished

                // we can check ResultState property of the Result to see if the result contains scanned information
                if (me.blinkIdRecognizer.Result.ResultState == MBRecognizerResultState.Uncertain)
                {
                    var blinkidResult = me.blinkIdRecognizer.Result;
                    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;
                    if (dob != null)
                    {
                        message +=
                            "DateOfBirth: " + dob.Day + "." +
                            dob.Month + "." +
                            dob.Year + ".\n";
                    }
                    var doi = blinkidResult.DateOfIssue;
                    if (doi != null)
                    {
                        message +=
                            "DateOfIssue: " + doi.Day + "." +
                            doi.Month + "." +
                            doi.Year + ".\n";
                    }
                    var doe = blinkidResult.DateOfExpiry;
                    if (doe != null)
                    {
                        message +=
                            "DateOfExpiry: " + doe.Day + "." +
                            doe.Month + "." +
                            doe.Year + ".\n";
                    }
                }

                UIApplication.SharedApplication.InvokeOnMainThread(delegate
                {
                    UIAlertView alert = new UIAlertView()
                    {
                        Title   = title,
                        Message = message
                    };
                    alert.AddButton("OK");
                    alert.Show();
                    // after alert dialog is dismissed, you can either resume scanning with
                    // documentOverlayViewController.RecognizerRunnerViewController.ResumeScanningAndResetState(true)
                    // or you can simply dismiss the RecognizerRunnerViewController
                    alert.Dismissed += (sender, e) => me.DismissViewController(true, null);
                });
            }