美文网首页
autojs指纹验证

autojs指纹验证

作者: 牙叔教程 | 来源:发表于2021-09-05 12:03 被阅读0次

牙叔教程 简单易懂

效果展示

GIF.gif

环境

Autojs版本: 9.0.5

Android版本: 10.0.0

MIUI版本: 12.5.1

autojs9没有指纹验证权限, 需要用mt管理器在AndroidManifest.xml中添加权限

android.permission.USE_BIOMETRIC

你将学到以下知识点

  • 指纹验证
  • imgView更换颜色

代码讲解

1. 导入类
importClass("android.hardware.fingerprint.FingerprintManager");
importClass("android.os.CancellationSignal");
importClass("android.graphics.PorterDuff");
2. UI界面
ui.layout(
  <vertical>
    <text text="指纹验证" margin="0 0 0 10" textColor="#d9000000" textSize="35sp" w="*" gravity="center"></text>
    <text
      text="--牙叔教程 简单易懂"
      margin="0 0 0 10"
      textColor="#80000000"
      textSize="25sp"
      w="*"
      gravity="center"
    ></text>
    <frame w="*" h="*">
      <img id="img" layout_gravity="center" src="@drawable/ic_fingerprint_black_48dp" w="100dp" h="100dp"></img>
    </frame>
  </vertical>
);
3. 主逻辑
// 判断设备是否有指纹验证
let r = judgeFingerprintIsCorrect();
if (r) {
  log("开始指纹验证");
  let authenticationCallback = createAuthenticationCallback();
  mManager.authenticate(null, mCancellationSignal, 0, authenticationCallback, null);
}
4. 释放资源
ui.emitter.on("pause", function () {
  release();
});
function release() {
  if (mCancellationSignal != null) {
    mCancellationSignal.cancel();
    mCancellationSignal = null;
  }
}
5. 验证回调
function createAuthenticationCallback() {
  let mSelfCancelled = new FingerprintManager.AuthenticationCallback({
    onAuthenticationError: function (errorCode, errString) {
      //多次指纹密码验证错误后,进入此方法;并且,不可再验(短时间)
      //errorCode是失败的次数
      toastLog("尝试次数过多,请稍后重试");
    },

    onAuthenticationHelp: function (helpCode, helpString) {
      //指纹验证失败,可再验,可能手指过脏,或者移动过快等原因。
      toastLog("指纹验证失败");
      failureEffect(imgView);
    },

    onAuthenticationSucceeded: function (result) {
      toastLog("指纹验证成功");
      release();
      engines.myEngine().forceStop();
    },

    onAuthenticationFailed: function () {
      //指纹验证失败,指纹识别失败,可再验,错误原因为:该指纹不是系统录入的指纹。
      toastLog("指纹验证失败");
      failureEffect(imgView);
    },
  });
  return mSelfCancelled;
}
6. 判断是否有指纹验证
function judgeFingerprintIsCorrect() {
  if (!mFingerprintManager.isHardwareDetected()) {
    toastLog("没有指纹识别模块");
    return false;
  } else {
    log("有指纹识别模块");
  }

  if (!mKeyManager.isKeyguardSecure()) {
    toastLog("没有开启锁屏密码");
    return false;
  } else {
    log("有开启锁屏密码");
  }

  if (!mManager.hasEnrolledFingerprints()) {
    toastLog("没有指纹录入");
    return false;
  } else {
    log("有指纹录入");
  }
  return true;
}

名人名言

思路是最重要的, 其他的百度, bing, stackoverflow, 安卓文档, autojs文档, 最后才是群里问问
--- 牙叔教程

声明

部分内容来自网络
本教程仅用于学习, 禁止用于其他用途

相关文章

  • autojs指纹验证

    牙叔教程 简单易懂 效果展示 环境 Autojs版本: 9.0.5 Android版本: 10.0.0 MIUI版...

  • IOS 指纹登录详解

    1.指纹验证方式: 只使用指纹验证 LAPolicyDeviceOwnerAuthenticationWithBi...

  • Android指纹识别

    上一篇讲了通过FingerprintManager验证手机是否支持指纹识别,以及是否录入了指纹,这里进行指纹的验证...

  • iOS开发 - 手机指纹验证

    手机指纹验证 使用

  • android指纹支付

    一: 指纹支付工作流程: 二 指纹原理解析: 1 指纹验证:通过FingerprintManager.authen...

  • 爱上课的锁

    老王换了个地方办公,大门是指纹锁。每次进门都要验证指纹,手指放上去,然后一个女生严肃地说:“验证成功”或“验证失败...

  • iOS 8手势验证 手势密码

    // 验证系统指纹和密码 LAPolicyDeviceOwnerAuthenticationWithBiomet...

  • 指纹、VR、AR

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

  • iOS指纹登录

    功能需求 用户首次登录APP后,开启指纹验证功能,当APP由后台进入前台或重启时,APP需要验证指纹,通过后才能正...

  • 指纹识别验证

    本文仅实现简单的验证跳转 引入依赖库 指纹验证的实现代码如下: 指纹识别识别的几种反馈 Demo下载地址 参考文章...

网友评论

      本文标题:autojs指纹验证

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