android - use finger print sensor as bio metric -


i new android bio-metric integration.

is possible use android devices screen or fingerprint sensor biometric device users can login app without having use email or password.

this , this , this references.

is using external fingerprint scanner or biometric option or there alternative solution ?

this code i've used reference. please have @ , let me know how can users fingerprint.

mainactivity extends appcompatactivity {  private fingerprintmanager fingerprintmanager; private keyguardmanager keyguardmanager; private keystore keystore; private keygenerator keygenerator; private static final string key_name = "example_key"; private cipher cipher; private fingerprintmanager.cryptoobject cryptoobject;  @targetapi(build.version_codes.m) @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_main);      keyguardmanager =             (keyguardmanager) getsystemservice(keyguard_service);     fingerprintmanager =             (fingerprintmanager) getsystemservice(fingerprint_service);       if (!keyguardmanager.iskeyguardsecure()) {          toast.maketext(this,                 "lock screen security not enabled in settings",                 toast.length_long).show();         return;     }      if (activitycompat.checkselfpermission(this,             manifest.permission.use_fingerprint) !=             packagemanager.permission_granted) {         toast.maketext(this,                 "fingerprint authentication permission not enabled",                 toast.length_long).show();          return;     }      if (!fingerprintmanager.hasenrolledfingerprints()) {          // happens when no fingerprints registered.         toast.maketext(this,                 "register @ least 1 fingerprint in settings",                 toast.length_long).show();         return;     }      if (!fingerprintmanager.hasenrolledfingerprints()) {          // happens when no fingerprints registered.         toast.maketext(this,                 "register @ least 1 fingerprint in settings",                 toast.length_long).show();         return;     }      generatekey();      if (cipherinit()) {         cryptoobject =                 new fingerprintmanager.cryptoobject(cipher);         fingerprinthandler helper = new fingerprinthandler(this);         helper.startauth(fingerprintmanager, cryptoobject);     }  }  @targetapi(build.version_codes.m) protected void generatekey() {     try {         keystore = keystore.getinstance("androidkeystore");     } catch (exception e) {         e.printstacktrace();     }      try {         keygenerator = keygenerator.getinstance(                 keyproperties.key_algorithm_aes,                 "androidkeystore");     } catch (nosuchalgorithmexception |             nosuchproviderexception e) {         throw new runtimeexception(                 "failed keygenerator instance", e);     }      try {         keystore.load(null);         keygenerator.init(new                 keygenparameterspec.builder(key_name,                 keyproperties.purpose_encrypt |                         keyproperties.purpose_decrypt)                 .setblockmodes(keyproperties.block_mode_cbc)                 .setuserauthenticationrequired(true)                 .setencryptionpaddings(                         keyproperties.encryption_padding_pkcs7)                 .build());         keygenerator.generatekey();     } catch (nosuchalgorithmexception |             invalidalgorithmparameterexception             | certificateexception | ioexception e) {         throw new runtimeexception(e);     } }  @targetapi(build.version_codes.m) public boolean cipherinit() {     try {         cipher = cipher.getinstance(                 keyproperties.key_algorithm_aes + "/"                         + keyproperties.block_mode_cbc + "/"                         + keyproperties.encryption_padding_pkcs7);     } catch (nosuchalgorithmexception |             nosuchpaddingexception e) {         throw new runtimeexception("failed cipher", e);     }      try {         keystore.load(null);         secretkey key = (secretkey) keystore.getkey(key_name,                 null);         cipher.init(cipher.encrypt_mode, key);         return true;     } catch (keypermanentlyinvalidatedexception e) {         return false;     } catch (keystoreexception | certificateexception             | unrecoverablekeyexception | ioexception             | nosuchalgorithmexception | invalidkeyexception e) {         throw new runtimeexception("failed init cipher", e);     } } } 


Comments

Popular posts from this blog

mysql - Dreamhost PyCharm Django Python 3 Launching a Site -

java - Sending SMS with SMSLib and Web Services -

python 3.5 - Pyqtgraph string in x tick -