GT库出指纹验证了,只需 二步即可完成指纹验证功能,非常简单
使用GT库里的,当然需要先依赖好GT库啦:
简易版 指纹
第一步:添加指纹验证权限
<uses-permission android:name="android.permission.USE_BIOMETRIC"/>
第二步:指纹验证核心代码:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.tv).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//是否显示UI,高版本的 Android 自带指纹验证UI,低版本的则需要自定UI
boolean isAndroid11 = Build.VERSION.SDK_INT >= Build.VERSION_CODES.R;
DialogFragment dialogFragment = GT.DarknessMagic.
FingerprintDialogFragment.newInstance(
"请进行指纹校验", //指纹校验 中心文字
"取消",//取消校验的按钮
isAndroid11,//是否显示指纹校验 默认UI,这个需要更具具体手机适配
false);//是否单击UI以外的区域 自动取消验证
//启动指纹校验
GT.startDialogFragment(MainActivity.this, dialogFragment);
}
});
}
//获取指纹验证数据
public void onActivityReenter(int resultCode, Intent data) {
super.onActivityReenter(resultCode, data);
int type = data.getIntExtra(GT.DarknessMagic.FingerprintDialogFragment.TYPE, -1);
GT.logt("type:" + type);
switch (type){
case GT.DarknessMagic.FingerprintUtils.TYPE_0://正常可以 指纹功能
case GT.DarknessMagic.FingerprintUtils.TYPE_1://您的手机不支持指纹功能
case GT.DarknessMagic.FingerprintUtils.TYPE_2://您还未设置锁屏,请先设置锁屏并添加一个指纹
case GT.DarknessMagic.FingerprintUtils.TYPE_3://您至少需要在系统设置中添加一个指纹
case GT.DarknessMagic.FingerprintUtils.TYPE_cancel://用户手动取消了
case GT.DarknessMagic.FingerprintUtils.TYPE_SUCCESS://指纹认证成功
case GT.DarknessMagic.FingerprintUtils.TYPE_ERROR2://尝试次数过多,请稍后重试。
break;
case GT.DarknessMagic.FingerprintUtils.TYPE_ERROR://指纹认证失败,请再试一次
break;
}
}
}
结尾:布局只需要一个 TextView 单击即可,故不填,需要注意的是:是否显示UI,最好是根据 当前安卓版本判断,以上就是 简易版 指纹验证
自定义 UI 指纹验证:
public class MainActivity extends AppCompatActivity {
private GT.DarknessMagic.FingerprintUtils fingerprint;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.tv).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//初始化指纹验证,并接受指纹验证状态
fingerprint = GT.DarknessMagic.FingerprintUtils.getInstance().init(MainActivity.this, new GT.OnListener<Integer>() {
@Override
public void onListener(Integer... integers) {
GT.logt("指纹验证状态:" + integers[0]);
switch (integers[0]) {
case GT.DarknessMagic.FingerprintUtils.TYPE_0://正常可以 指纹功能
case GT.DarknessMagic.FingerprintUtils.TYPE_1://您的手机不支持指纹功能
case GT.DarknessMagic.FingerprintUtils.TYPE_2://您还未设置锁屏,请先设置锁屏并添加一个指纹
case GT.DarknessMagic.FingerprintUtils.TYPE_3://您至少需要在系统设置中添加一个指纹
case GT.DarknessMagic.FingerprintUtils.TYPE_cancel://用户手动取消了
case GT.DarknessMagic.FingerprintUtils.TYPE_SUCCESS://指纹认证成功
case GT.DarknessMagic.FingerprintUtils.TYPE_ERROR2://尝试次数过多,请稍后重试。
break;
case GT.DarknessMagic.FingerprintUtils.TYPE_ERROR://指纹认证失败,请再试一次
break;
}
}
});
fingerprint.startListening();//开启指纹验证
}
});
}
@Override
protected void onDestroy() {
super.onDestroy();
fingerprint.stopListening();//停止指纹验证
}
}
总结:自定义UI教程,贴出了 核心代码,具体可自己编写对话框UI,并自己控制指纹验证的 显示与取消,非常简单吧,GT库不止这一个好用的功能。