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
Open Google Maps Through Intent for Specific Location in Android
Android - Correct Use of Invalidateoptionsmenu()
How to Hide App Title in Android
What Does Fragmentmanager and Fragmenttransaction Exactly Do
How Is an Intent Service Declared in the Android Manifest
Web App on Android Browser Width Issue
How to Bring a Background Task to The Front Below Honeycomb
How to Set The Title Color for The New Toolbar
How to Solve Render Problem Path.Op() Not Supported
How to Listen for a Custom Uri
Android M Write to Sd Card - Permission Denied
Phonegap & Android - How to Use The New Select List Style
What Is Metadata ? and What Is The Use of It in Android
Clicking on Notification Is Not Starting Intended Activity
How to Read the Sd Card Id Number