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.
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.1.5'
}
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 onPause() {
super.onPause();
mFAH.stopListening();
}
...
@Override
protected void onDestroy() {
super.onDestroy();
mFAH.onDestroy();
}
That's pretty much all what you need to start the work! Full documentation and all options descriptions you can findhere.
Callbacks:
Your activity or fragment must implement FahListener;
@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
}
}
Updates
- v.1.1.5
- refactoring
- small bugfix
- v.1.1.4
- fix crashes on Sumsung devices
- add method isFingerprintEnrolled() to FingerprintAuthHelper
- small bugfix
- v.1.1.3
- init context must be instance of Activity
- add method showSecuritySettingsDialog() to FingerprintAuthHelper
- add help error
- v.1.1.2
- add possibility to set max count of tries