public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private static final String TAG = "MainActivity";
private Button check;
private FingerprintManagerCompat manager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
check = (Button) findViewById(R.id.btn_check);
check.setOnClickListener(this);
// 获取一个FingerPrintManagerCompat的实例
manager = FingerprintManagerCompat.from(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_check:
/**
* 开始验证,什么时候停止由系统来确定,如果验证成功,那么系统会关系sensor,如果失败,则允许
* 多次尝试,如果依旧失败,则会拒绝一段时间,然后关闭sensor,过一段时候之后再重新允许尝试
*
* 第四个参数为重点,需要传入一个FingerprintManagerCompat.AuthenticationCallback的子类
* 并重写一些方法,不同的情况回调不同的函数
*/
manager.authenticate(null, 0, null, new MyCallBack(), null);
break;
}
}
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);
}
// 当指纹验证失败的时候会回调此函数,失败之后允许多次尝试,失败次数过多会停止响应一段时间然后再停止sensor的工作
@Override
public void onAuthenticationFailed() {
Log.d(TAG, "onAuthenticationFailed: " + "验证失败");
}
@Override
public void onAuthenticationHelp(int helpMsgId, CharSequence helpString) {
Log.d(TAG, "onAuthenticationHelp: " + helpString);
}
// 当验证的指纹成功时会回调此函数,然后不再监听指纹sensor
@Override
public void onAuthenticationSucceeded(FingerprintManagerCompat.AuthenticationResult
result) {
Log.d(TAG, "onAuthenticationSucceeded: " + "验证成功");
}
}
}
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
Log.d(TAG, "handleMessage: 重启指纹模块");
manager.authenticate(null, 0, null, new MyCallBack(), handler);
}
};
@Override
public void onAuthenticationError(int errMsgId, CharSequence errString) {
handler.sendMessageDelayed(new Message(), 1000 * 30);
Log.d(TAG, "onAuthenticationError: " + errString);
}
@Override
public void onAuthenticationSucceeded(FingerprintManagerCompat.AuthenticationResult result) {
handler.sendMessageDelayed(new Message(), 1000 * 30);
Log.d(TAG, "onAuthenticationSucceeded: " + "验证成功");
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有