public SamsungFingerprintImplementation() { try { var spass = new Spass(); spass.Initialize(Application.Context); _hasNoFingerPrintSensor = !spass.IsFeatureEnabled(Spass.DeviceFingerprint); _spassFingerprint = new SpassFingerprint(Application.Context); IsCompatible = true; } catch (SecurityException ex) { Log.Warn(nameof(SamsungFingerprintImplementation), ex); _hasNoPermission = true; } catch (Exception ex) { Log.Warn(nameof(SamsungFingerprintImplementation), ex); _hasNoApi = true; } }
public SamsungBiometricsImpl() { //if (Android.OS.Build.VERSION == Android.OS.BuildVersionCodes.M) var spass = new Spass(); try { spass.Initialize(Application.Context); if (spass.IsFeatureEnabled(Spass.DeviceFingerprint)) { this.fingerprint = new SpassFingerprint(Application.Context); this.available = this.fingerprint.HasRegisteredFinger; } } catch (SsdkUnsupportedException ex) { Debug.WriteLine("Error Initializing: " + ex); } catch (UnsupportedOperationException ex) { Debug.WriteLine("Fingerprint Not Supported: " + ex); } catch (SecurityException ex) { Debug.WriteLine("Invalid App Permissions: " + ex); //<uses-permission android:name="com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY" /> } }
public BiometricsImpl() { var spass = new Spass(); try { spass.Initialize(Application.Context); if (spass.IsFeatureEnabled(Spass.DeviceFingerprint)) { this.fingerprint = new SpassFingerprint(Application.Context); this.available = this.fingerprint.HasRegisteredFinger; } } catch (SsdkUnsupportedException ex) { Debug.WriteLine("Error Initializing: " + ex); } catch (UnsupportedOperationException ex) { Debug.WriteLine("Fingerprint Not Supported: " + ex); } catch (SecurityException ex) { Debug.WriteLine("Invalid App Permissions: " + ex); //<uses-permission android:name="com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY" /> } }
public FingerprintSamsungIdentifier(Context context) { _spass = new Spass(); try { _spass.Initialize(context); } catch (SecurityException) { //"Did you add the permission to the AndroidManifest.xml?"); throw; } if (_spass.IsFeatureEnabled(Spass.DeviceFingerprint)) { _spassFingerprint = new SpassFingerprint(context); } else { throw new RuntimeException("Fingerprint Featue not available."); } }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.Main); _listAdapter = new ArrayAdapter <string>(this, Resource.Layout.ListEntry, Resource.Id.TextView01); _listView = FindViewById <ListView> (Resource.Id.listView1); if (_listView != null) { _listView.Adapter = _listAdapter; } _spass = new Spass(); try { _spass.Initialize(this); } catch (SsdkUnsupportedException e) { Log(e.Message); return; } catch (SecurityException) { Log("Did you add the permission to the AndroidManifest.xml?"); return; } catch (UnsupportedOperationException) { Log("Fingerprint Service is not supported in the device"); return; } _isFeatureEnabled = _spass.IsFeatureEnabled(Spass.DeviceFingerprint); if (_isFeatureEnabled) { _spassFingerprint = new SpassFingerprint(this); Log("Fingerprint Service is supported in the device."); Log("SDK version : " + _spass.VersionName); } else { LogClear(); Log("Fingerprint Service is not supported in the device."); return; } FindViewById(Resource.Id.buttonHasRegisteredFinger).Click += (sender, e) => { LogClear(); try { var hasRegisteredFinger = _spassFingerprint.HasRegisteredFinger; Log("HasRegisteredFinger = " + hasRegisteredFinger); } catch (UnsupportedOperationException) { Log("Fingerprint Service is not supported in the device"); } }; FindViewById(Resource.Id.buttonIdentify).Click += (sender, e) => { LogClear(); try { if (!_spassFingerprint.HasRegisteredFinger) { Log("Please register finger first"); } else { if (!_onReadyIdentify) { try { _onReadyIdentify = true; _spassFingerprint.StartIdentify(new IdentifyListener(_spassFingerprint, Log, () => _onReadyIdentify = false)); Log("Please identify finger to verify you"); } catch (SpassInvalidStateException m) { _onReadyIdentify = false; if (m.Type == SpassInvalidStateException.StatusOperationDenied) { Log("Exception: " + m.Message); } } catch (IllegalStateException ex) { _onReadyIdentify = false; Log("Exception: " + ex); } } else { Log("Please cancel Identify first"); } } } catch (UnsupportedOperationException) { Log("Fingerprint Service is not supported in the device"); } }; FindViewById(Resource.Id.buttonShowIdentifyDialogWithPW).Click += (sender, e) => { LogClear(); try { if (!_spassFingerprint.HasRegisteredFinger) { Log("Please register finger first"); } else { if (!_onReadyIdentify) { try { _onReadyIdentify = true; _spassFingerprint.StartIdentifyWithDialog(this, new IdentifyListener(_spassFingerprint, Log, () => _onReadyIdentify = false), true); Log("Please identify finger to verify you"); } catch (SpassInvalidStateException m) { _onReadyIdentify = false; if (m.Type == SpassInvalidStateException.StatusOperationDenied) { Log("Exception: " + m.Message); } } catch (IllegalStateException ex) { _onReadyIdentify = false; Log("Exception: " + ex); } } else { Log("Please cancel Identify first"); } } } catch (UnsupportedOperationException) { Log("Fingerprint Service is not supported in the device"); } }; FindViewById(Resource.Id.buttonShowIdentifyDialogWithoutPW).Click += (sender, e) => { LogClear(); try { if (!_spassFingerprint.HasRegisteredFinger) { Log("Please register finger first"); } else { if (!_onReadyIdentify) { try { _onReadyIdentify = true; _spassFingerprint.StartIdentifyWithDialog(this, new IdentifyListener(_spassFingerprint, Log, () => _onReadyIdentify = false), false); Log("Please identify finger to verify you"); } catch (SpassInvalidStateException m) { _onReadyIdentify = false; if (m.Type == SpassInvalidStateException.StatusOperationDenied) { Log("Exception: " + m.Message); } } catch (IllegalStateException ex) { _onReadyIdentify = false; Log("Exception: " + ex); } } else { Log("Please cancel Identify first"); } } } catch (UnsupportedOperationException) { Log("Fingerprint Service is not supported in the device"); } }; FindViewById(Resource.Id.buttonCancel).Click += (sender, e) => { LogClear(); try { if (_onReadyIdentify) { try { _spassFingerprint.CancelIdentify(); Log("cancelIdentify is called"); } catch (IllegalStateException ise) { Log(ise.Message); } _onReadyIdentify = false; } else { Log("Please request Identify first"); } } catch (UnsupportedOperationException) { Log("Fingerprint Service is not supported in the device"); } }; FindViewById(Resource.Id.buttonRegisterFinger).Click += (sender, e) => { LogClear(); try { if (!_onReadyIdentify) { if (!_onReadyEnroll) { _onReadyEnroll = true; _spassFingerprint.RegisteredFinger(this, new RegisterListener(Log, () => _onReadyEnroll = false)); Log("Jump to the Enroll screen"); } else { Log("Please wait and try to register again"); } } else { Log("Please cancel Identify first"); } } catch (UnsupportedOperationException) { Log("Fingerprint Service is not supported in the device"); } }; FindViewById(Resource.Id.buttonGetRegisteredFingerprintName).Click += (sender, e) => { LogClear(); try { Log("=Fingerprint Name="); var registeredFingerprintNames = _spassFingerprint.RegisteredFingerprintUniqueId; if (registeredFingerprintNames == null) { Log("Registered fingerprints do not exist on this device"); } else { int i = 0; foreach (var registeredFingerprintName in registeredFingerprintNames) { Log("Index " + i + ", Name is " + registeredFingerprintName); i++; } } } catch (UnsupportedOperationException) { Log("Fingerprint Service is not supported in the device"); } }; FindViewById(Resource.Id.buttonGetRegisteredFingerprintID).Click += (sender, e) => { LogClear(); try { if (_spass.IsFeatureEnabled(Spass.DeviceFingerprintUniqueId)) { try { Log("=Fingerprint Unique ID="); var registeredFingerprintIds = _spassFingerprint.RegisteredFingerprintUniqueId; if (registeredFingerprintIds == null) { Log("Registered fingerprints do not exist on this device"); } else { int i = 0; foreach (var registedFingerprintId in registeredFingerprintIds) { Log("Index " + i + ", Unique ID is " + registedFingerprintId); i++; } } } catch (IllegalStateException ise) { Log(ise.Message); } } else { Log("To get Fingerprint ID is not supported in the device"); } } catch (UnsupportedOperationException) { Log("Fingerprint Service is not supported in the device"); } }; FindViewById(Resource.Id.buttonIdentifyWithIndex).Click += (sender, e) => { LogClear(); try { if (!_spassFingerprint.HasRegisteredFinger) { Log("Please register finger first"); } else { if (!_onReadyIdentify) { try { _onReadyIdentify = true; if (_spass.IsFeatureEnabled(Spass.DeviceFingerprintFingerIndex)) { var designatedFingers = new Java.Util.ArrayList(); designatedFingers.Add(1); _spassFingerprint.SetIntendedFingerprintIndex(designatedFingers); } _spassFingerprint.StartIdentify(new IdentifyListener(_spassFingerprint, Log, () => _onReadyIdentify = false)); Log("Please identify fingerprint index 1 to verify you"); } catch (SpassInvalidStateException ise) { _onReadyIdentify = false; if (ise.Type == SpassInvalidStateException.StatusOperationDenied) { Log("Exception: " + ise.Message); } } catch (IllegalStateException ex) { _onReadyIdentify = false; Log("Exception: " + ex); } } else { Log("Please cancel Identify first"); } } } catch (UnsupportedOperationException) { Log("Fingerprint Service is not supported in the device"); } }; FindViewById(Resource.Id.buttonShowIdentifyDialogWithIndex).Click += (sender, e) => { LogClear(); try { if (!_spassFingerprint.HasRegisteredFinger) { Log("Please register finger first"); } else { if (!_onReadyIdentify) { try { _onReadyIdentify = true; if (_spass.IsFeatureEnabled(Spass.DeviceFingerprintFingerIndex)) { var designatedFingers = new Java.Util.ArrayList(); designatedFingers.Add(2); designatedFingers.Add(3); _spassFingerprint.SetIntendedFingerprintIndex(designatedFingers); } _spassFingerprint.StartIdentifyWithDialog(this, new IdentifyListener(_spassFingerprint, Log, () => _onReadyIdentify = false), false); Log("Please identify fingerprint index 2 or 3 to verify you"); } catch (SpassInvalidStateException ise) { _onReadyIdentify = false; if (ise.Type == SpassInvalidStateException.StatusOperationDenied) { Log("Exception: " + ise.Message); } } catch (IllegalStateException ex) { _onReadyIdentify = false; Log("Exception: " + ex); } } else { Log("Please cancel Identify first"); } } } catch (UnsupportedOperationException) { Log("Fingerprint Service is not supported in the device"); } }; FindViewById(Resource.Id.buttonShowIdentifyDialogWithTitleNLogo).Click += (sender, e) => { LogClear(); try { if (!_spassFingerprint.HasRegisteredFinger) { Log("Please register finger first"); } else { if (!_onReadyIdentify) { _onReadyIdentify = true; if (_spass.IsFeatureEnabled(Spass.DeviceFingerprintCustomizedDialog)) { try { _spassFingerprint.SetDialogTitle("Customized Dialog With Logo", 0x000000); _spassFingerprint.SetDialogIcon("Icon"); } catch (IllegalStateException ise) { Log(ise.Message); } } try { _spassFingerprint.StartIdentifyWithDialog(this, new IdentifyListener(_spassFingerprint, Log, () => _onReadyIdentify = false), false); Log("Please Identify fingerprint to verify you"); } catch (IllegalStateException ex) { _onReadyIdentify = false; Log("Exception: " + ex); } } else { Log("Please cancel Identify first"); } } } catch (UnsupportedOperationException) { Log("Fingerprint Service is not supported in the device"); } }; FindViewById(Resource.Id.buttonCustomizedDialogWithTransparency).Click += (sender, e) => { LogClear(); try { if (!_spassFingerprint.HasRegisteredFinger) { Log("Please register finger first"); } else { if (!_onReadyIdentify) { _onReadyIdentify = true; if (_spass.IsFeatureEnabled(Spass.DeviceFingerprintCustomizedDialog)) { try { _spassFingerprint.SetDialogTitle("Customized Dialog With Transparency", 0x000000); _spassFingerprint.SetDialogBgTransparency(0); } catch (IllegalStateException ise) { Log(ise.Message); } } try { _spassFingerprint.StartIdentifyWithDialog(this, new IdentifyListener(_spassFingerprint, Log, () => _onReadyIdentify = false), false); Log("Please Identify fingerprint to verify you"); } catch (IllegalStateException ex) { _onReadyIdentify = false; Log("Exception: " + ex); } } else { Log("Please cancel Identify first"); } } } catch (UnsupportedOperationException) { Log("Fingerprint Service is not supported in the device"); } }; FindViewById(Resource.Id.buttonCustomizedDialogWithSetDialogDismiss).Click += (sender, e) => { LogClear(); try { if (!_spassFingerprint.HasRegisteredFinger) { Log("Please register finger first"); } else { if (!_onReadyIdentify) { _onReadyIdentify = true; if (_spass.IsFeatureEnabled(Spass.DeviceFingerprintCustomizedDialog)) { try { _spassFingerprint.SetDialogTitle("Customized Dialog With Setting Dialog dismiss", 0x000000); _spassFingerprint.SetCanceledOnTouchOutside(true); } catch (IllegalStateException ise) { Log(ise.Message); } } try { _spassFingerprint.StartIdentifyWithDialog(this, new IdentifyListener(_spassFingerprint, Log, () => _onReadyIdentify = false), false); Log("Please Identify fingerprint to verify you"); } catch (IllegalStateException ex) { _onReadyIdentify = false; Log("Exception: " + ex); } } else { Log("Please cancel Identify first"); } } } catch (UnsupportedOperationException) { Log("Fingerprint Service is not supported in the device"); } }; }