android 指纹识别 之 BiometricPrompt的简单使用教程
16lz
2021-01-24
1.使用android api 28的sdk创建一个新的项目
创建完成后,在build.gradle中查看是否正确
2.在AndroidManifest.xml中添加用户权限
3.开始编写代码
public class MainActivity extends AppCompatActivity { private static final String TAG = "gryphon"; private BiometricPrompt mBiometricPrompt; private CancellationSignal mCancellationSignal; private BiometricPrompt.AuthenticationCallback mAuthenticationCallback; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mBiometricPrompt = new BiometricPrompt.Builder(this) .setTitle("指纹验证") .setDescription("描述") .setNegativeButton("取消", getMainExecutor(), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { Log.i(TAG, "Cancel button clicked"); } }) .build(); mCancellationSignal = new CancellationSignal(); mCancellationSignal.setOnCancelListener(new CancellationSignal.OnCancelListener() { @Override public void onCancel() { //handle cancel result Log.i(TAG, "Canceled"); } }); mAuthenticationCallback = new BiometricPrompt.AuthenticationCallback() { @Override public void onAuthenticationError(int errorCode, CharSequence errString) { super.onAuthenticationError(errorCode, errString); Log.i(TAG, "onAuthenticationError " + errString); } @Override public void onAuthenticationSucceeded(BiometricPrompt.AuthenticationResult result) { super.onAuthenticationSucceeded(result); Log.i(TAG, "onAuthenticationSucceeded " + result.toString()); } @Override public void onAuthenticationFailed() { super.onAuthenticationFailed(); Log.i(TAG, "onAuthenticationFailed "); } }; mBiometricPrompt.authenticate(mCancellationSignal, getMainExecutor(), mAuthenticationCallback); }}
上面代码很简单,就不过多bb了
如果想取消指纹识别,可以通过
mCancellationSignal.cancel();
4.测试
4.1创建一个api 28的模拟器
4.2 在系统设置中添加解锁密码和指纹
在模拟器中的设置 -> 安全性和位置信息 中设置pin码之后,添加一个指纹,这边需要输入刚才设置的pin码
输入完成之后,就会到指纹页面
点击添加就会跳转到录入指纹页面
这个时候打开命令行,在命令行中输入
adb -e emu finger touch 1
说明:
这里的1 你可以随便定义 ,也就是你设置的指纹名称
等会就会跳转到指纹已添加页面
5.执行上面的代码
在模拟器上可以看到如下界面:
这个时候你在命令行中输入上面添加指纹的命令即可完成指纹认证的模拟
adb -e emu finger touch 1
这个时候再logcat中就可以看到授权成功的回调
好了,简单的demo就完成了
更多相关文章
- Android(安卓)EditText OnTouchListener事件重复
- h5页面判断安卓或ios点击下载App
- Android(安卓)webView自适应屏幕
- android native ndk崩溃定位
- Android双击返回键退出程序代码
- Android-NDK开发之基础--Android(安卓)JNI实例代码(四)-- JNI中
- android 特效之一 电视机关闭特效
- Android(安卓)Intent.createChooser()
- Android剪切板用法