FingerprintAuthHelper
A small library that allows You to easily manage fingererprint authentication inside your Activity or Fragment on devices with fingerprint scanner and Android M and higher. Min sdk version 14.
Usage
Add the dependencies to your gradle file:
dependencies {
compile 'com.github.pro100svitlo:fingerprintAuthHelper:1.3.0'
}
Inside your activity or fragment:
private FingerprintAuthHelper mFAH;
@Override
protected void onCreate(Bundle savedInstanceState) {
...
mFAH = new FingerprintAuthHelper
.Builder(this, this) //(Context inscance of Activity, FahListener)
.build();
if (mFAH.isHardwareEnable()){
//do some stuff here
} else {
//otherwise do
}
}
...
@Override
protected void onResume() {
super.onResume();
mFAH.startListening();
}
...
@Override
protected void onStop() {
super.onStop();
mFAH.stopListening();
}
...
@Override
protected void onDestroy() {
super.onDestroy();
mFAH.onDestroy();
}
@Override
public void onFingerprintStatus(boolean authSuccessful, int errorType, CharSequence errorMess) {
// authSuccessful - boolean that shows auth status
// errorType - if auth was failed, you can catch error type
// errorMess - if auth was failed, errorMess will tell you (and user) the reason
if (authSuccessful){
// do some stuff here in case auth was successful
} else if (mFAH != null){
// do some stuff here in case auth failed
switch (errorType){
case FahErrorType.General.LOCK_SCREEN_DISABLED:
case FahErrorType.General.NO_FINGERPRINTS:
mFAH.showSecuritySettingsDialog();
break;
case FahErrorType.Auth.AUTH_NOT_RECOGNIZED:
//do some stuff here
break;
case FahErrorType.Auth.AUTH_TO_MANY_TRIES:
//do some stuff here
break;
}
}
}
@Override
public void onFingerprintListening(boolean listening, long milliseconds) {
// listening - status of fingerprint listen process
// milliseconds - timeout value, will be > 0, if listening = false & errorType = AUTH_TO_MANY_TRIES
if (listening){
//add some code here
} else {
//add some code here
}
if (milliseconds > 0) {
//if u need, u can show timeout for user
}
}
That's pretty much all what you need to start the work! Full documentation and all options descriptions you can find here.