基本信息
源码名称:Android 指纹识别 示例源码
源码大小:0.25M
文件格式:.zip
开发语言:Java
更新时间:2018-12-07
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
package com.zwh.rxfingerprinter;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import rx.Subscriber;
import rx.Subscription;
import zwh.com.lib.FPerException;
import zwh.com.lib.RxFingerPrinter;
public class MainActivity extends AppCompatActivity {
private FingerPrinterView fingerPrinterView;
private int fingerErrorNum = 0; // 指纹错误次数
RxFingerPrinter rxfingerPrinter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
fingerPrinterView = (FingerPrinterView) findViewById(R.id.fpv);
fingerPrinterView.setOnStateChangedListener(new FingerPrinterView.OnStateChangedListener() {
@Override public void onChange(int state) {
if (state == FingerPrinterView.STATE_CORRECT_PWD) {
fingerErrorNum = 0;
Toast.makeText(MainActivity.this, "指纹识别成功", Toast.LENGTH_SHORT).show();
}
if (state == FingerPrinterView.STATE_WRONG_PWD) {
Toast.makeText(MainActivity.this, "指纹识别失败,还剩" (5-fingerErrorNum) "次机会",
Toast.LENGTH_SHORT).show();
fingerPrinterView.setState(FingerPrinterView.STATE_NO_SCANING);
}
}
});
rxfingerPrinter = new RxFingerPrinter(this);
findViewById(R.id.btn_open).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fingerErrorNum = 0;
rxfingerPrinter.unSubscribe(this);
Subscription subscription = rxfingerPrinter.begin().subscribe(new Subscriber<Boolean>() {
@Override
public void onStart() {
super.onStart();
if (fingerPrinterView.getState() == FingerPrinterView.STATE_SCANING) {
return;
} else if (fingerPrinterView.getState() == FingerPrinterView.STATE_CORRECT_PWD
|| fingerPrinterView.getState() == FingerPrinterView.STATE_WRONG_PWD) {
fingerPrinterView.setState(FingerPrinterView.STATE_NO_SCANING);
} else {
fingerPrinterView.setState(FingerPrinterView.STATE_SCANING);
}
}
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
if(e instanceof FPerException){
Toast.makeText(MainActivity.this,((FPerException) e).getDisplayMessage(),Toast.LENGTH_SHORT).show();
}
}
@Override
public void onNext(Boolean aBoolean) {
if(aBoolean){
fingerPrinterView.setState(FingerPrinterView.STATE_CORRECT_PWD);
}else{
fingerErrorNum ;
fingerPrinterView.setState(FingerPrinterView.STATE_WRONG_PWD);
}
}
});
rxfingerPrinter.addSubscription(this,subscription);
}
});
}
@Override
protected void onDestroy() {
super.onDestroy();
rxfingerPrinter.unSubscribe(this);
}
}