美文网首页优秀案例
Android 指纹笔记

Android 指纹笔记

作者: silencefun | 来源:发表于2018-04-17 21:47 被阅读97次

Android 指纹笔记 已经躺在 草稿快一年了,还是整理一下,把坑填上。
FingerprintManagerCompat 是V4 包提供支持 API >=23
import android.support.v4.hardware.fingerprint.FingerprintManagerCompat;

指纹的使用都是在验证,大部分是支付,也有些是在登录,或者私密的二次验证。

以自己写的 私密记事本 锁屏之后再亮屏需要指纹验证的思路:

首先是大于23,使用官方支持的,否则可能会出现异常,使用反射也能达到要求但是,不合乎规范:

    private FingerprintManagerCompat manager;

 oncreat
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {

            // 获取一个FingerPrintManagerCompat的实例
            manager = FingerprintManagerCompat.from(this);
        }

callback

  public class MyCallBack extends FingerprintManagerCompat.AuthenticationCallback {
    private static final String TAG = "MyCallBack";

    // 当出现错误的时候回调此函数,比如多次尝试都失败了的时候,errString是错误信息
    @Override
    public void onAuthenticationError(int errMsgId, CharSequence errString) {
        Log.d(TAG, "onAuthenticationError: " + errString);
        if (errString != null)
            loadingDialog.showError(errString.toString(),1);
    }

    // 当指纹验证失败的时候会回调此函数,失败之后允许多次尝试,失败次数过多会停止响应一段时间然后再停止sensor的工作
    @Override
    public void onAuthenticationFailed() {
        Log.d(TAG, "onAuthenticationFailed: " + "验证失败");
//            handler.sendMessageDelayed(new Message(), 1000 * 30);
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                if (mycall != null)
                    manager.authenticate(null, 0, null, mycall, null);
            }
        }, 1000 * 30);
        loadingDialog.showError("验证失败",1);
    }

    @Override
    public void onAuthenticationHelp(int helpMsgId, CharSequence helpString) {
        Log.d(TAG, "onAuthenticationHelp: " + helpString);
        if (helpString != null)
            loadingDialog.showError("验证失败",1);
    }

    // 当验证的指纹成功时会回调此函数,然后不再监听指纹sensor
    @Override
    public void onAuthenticationSucceeded(FingerprintManagerCompat.AuthenticationResult
                                                  result) {
        Log.d(TAG, "onAuthenticationSucceeded: " + "验证成功");
        loadingDialog.show("验证成功", 1);

        if (AppContext.getContext().isLocked) {
            AppContext.getContext().isLocked = false;
            AppContext.getContext().removeActivity(VolidateActivity.this);
            VolidateActivity.this.finish();
        } else DeviceUtil.startActivity(context, MainActivity.class);
    }

}

相关文章

  • 指纹识别-Android

    指纹识别-Android @(Android进阶资料)[Android, 学习, 读书笔记, Markdown]指...

  • Android 指纹笔记

    Android 指纹笔记 已经躺在 草稿快一年了,还是整理一下,把坑填上。FingerprintManagerCo...

  • 指纹识别

    一、 指纹识别接口从Android 6.0开始,Android系统加上了对指纹识别的支持。所有指纹识别的接口都在...

  • Android指纹从入门到"放弃"

    Android指纹从入门到"放弃" 一、背景 Android在23(Android M)上新增了对指纹识别的硬件支...

  • 指纹、VR、AR

    ------指纹------优雅实现Android指纹验证安卓指纹识别库(安卓官方 + 三星 SDK + 魅族 S...

  • Android-指纹解锁技术

    什么是指纹解锁技术 指纹解锁技术原理理解 指纹解锁技术的优势和缺点 在Android中的应用开发 什么是指纹解锁技...

  • Android7.0 LockSettingsService——

    Android6.0之后支持了指纹解锁,但是指纹本身的安全性是不如密码的,所以Android系统加入了Strong...

  • 2018-03-05

    Android指纹密码 使用场景以及方向 指纹解锁,在支持指纹识别的手机中,几乎每个支持指纹识别芯片的手机都支持指...

  • Android 指纹识别

    1. Android 6.0指纹验证 1). 获取指纹管理者 2). 取消指纹对象 3). 初始化加密工具类 4)...

  • Android应用实现指纹登录

    Android指纹是在API23版本之后加入的,以及大多数的Android6.0系统都有硬件支持。 一:指纹Dem...

网友评论

    本文标题:Android 指纹笔记

    本文链接:https://www.haomeiwen.com/subject/gmvibxtx.html