Android(安卓)指纹笔记
16lz
2021-01-26
Android 指纹笔记 已经躺在 草稿快一年了,还是整理一下,把坑填上。
FingerprintManagerCompat 是V4 包提供支持 API >=23
import android.support.v4.hardware.fingerprint.FingerprintManagerCompat;
指纹的使用都是在验证,大部分是支付,也有些是在登录,或者私密的二次验证。
以自己写的 私密记事本 锁屏之后再亮屏需要指纹验证的思路:
首先是大于23,使用官方支持的,否则可能会出现异常,使用反射也能达到要求但是,不合乎规范:
private FingerprintManagerCompat manager; oncreatif (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(安卓)AppWidget实例验证
- eclipse虚拟机adb启动失败
- Android如何通过手机自动获取短信验证码
- Android(安卓)Studio Emulator 提示 “/dev/kvm is not found”
- (Android、Java) MD5加密方法
- 一行代码玩转android数据库之增删改查,超级简单 第三方框架xUtils
- 解决OPPO手机在Android(安卓)studio 环境下安装错误运行失败的问
- SystemUI密码解锁后指纹识别清除次数
- Android网络应用(图片查看器)