GT库出指纹验证了,只需 二步即可完成指纹验证功能,非常简单

 使用GT库里的,当然需要先依赖好GT库啦:

GitHub - 1079374315/GTContribute to 1079374315/GT development by creating an account on GitHub.

Android 指纹解锁开发_Android 指纹解锁开发

https://github.com/1079374315/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库不止这一个好用的功能。