Android Fingerprint API for Time Attendance App

Attendance app with fingerprint authentication

As per Nexus FAQs

Your fingerprint data is stored securely and never leaves your Pixel
or Nexus phone. Your fingerprint data isn't shared with Google or any
apps on your device. Apps are notified only whether your fingerprint
was verified.

FingeprintManager only has these 3 features:

authenticate() : for authenticating user

hasEnrolledFingerprints() : Determine if there is at least one fingerprint enrolled.

isHardwareDetected() : Determine if fingerprint hardware is present and functional.

There is no feature to get fingerprint id from the sensor.So your idea of storing fingerprints in database won't work.

Get fingerprint templates from fingerprint scanner

You cannot save a fingerprint image or template. It is stated by Android in the Fingerprint Section.

The Fingerprint data is stored by android system in the phone at a secure location which is not accessible. You can write an app that gets and stores fingerprint to authenticate the user. You can go through this sample that demonstrates to use registered fingerprints to authenticate the user in your app.

https://github.com/googlesamples/android-FingerprintDialog

If you need fingerprint authentication for about 300 users, your best bet would be implementing an AFIS solutions. You can also check out this github repo, but I cannot guarantee it's veracity.

Stating this answer, there's some fingerprint scanners compatible with Android Platform and with SDK for Android. These SDKs allow to get fingerprint image or template. Scanners are plugged on USB port so you can't charge tablet and use fingerprint scanner simultaneous. For instance:

http://www.dermalog.com/en/products_solutions/fingerprintscanner/

http://www.futronic-tech.com/product_fs80h.html

http://www.crossmatch.com/authentication-hardware/

There's also some devices with integrated fingerprint scanner and with SDK to get fingerprint image or template. But this would be out of scope for programming.

Using Android's Fingerprint Scanner for Application

Fingerprint scanner is not a feature in Android (Now available on Android M).

So each company as Samsung, Motorola, HTC create is own API and SDK to access to fingerprint sensor.

For instance Samsung provide a SDK http://developer.samsung.com/galaxy#pass

Pass SDK allows you to use fingerprint recognition features in your
application. With Pass SDK, you can provide reinforced security, since
you can identify whether the current user actually is the authentic
owner of the device.

If you want to enroll multiple users and check users in your app, it's not possible with Samsung device. You could only check owner of device.

I don't know SDK of other companies.

UPDATE

Android M have new FingerPrint API:
https://developer.android.com/about/versions/marshmallow/android-6.0.html#fingerprint-authentication



Related Topics



Leave a reply



Submit