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);
}
}
资源文件列表
RxFingerPrinter-master/.gitignore , 118
RxFingerPrinter-master/README.md , 3181
RxFingerPrinter-master/app/.gitignore , 7
RxFingerPrinter-master/app/build.gradle , 958
RxFingerPrinter-master/app/proguard-rules.pro , 679
RxFingerPrinter-master/app/src/androidTest/java/com/zwh/rxfingerprinter/ExampleInstrumentedTest.java , 750
RxFingerPrinter-master/app/src/main/AndroidManifest.xml , 663
RxFingerPrinter-master/app/src/main/java/com/zwh/rxfingerprinter/FingerPrinterView.java , 8811
RxFingerPrinter-master/app/src/main/java/com/zwh/rxfingerprinter/MainActivity.java , 3686
RxFingerPrinter-master/app/src/main/res/drawable-xhdpi/finger_green.png , 4680
RxFingerPrinter-master/app/src/main/res/drawable-xhdpi/finger_grey.png , 4683
RxFingerPrinter-master/app/src/main/res/drawable-xhdpi/finger_red.png , 4753
RxFingerPrinter-master/app/src/main/res/layout/activity_main.xml , 1572
RxFingerPrinter-master/app/src/main/res/mipmap-hdpi/ic_launcher.png , 3418
RxFingerPrinter-master/app/src/main/res/mipmap-mdpi/ic_launcher.png , 2206
RxFingerPrinter-master/app/src/main/res/mipmap-xhdpi/ic_launcher.png , 4842
RxFingerPrinter-master/app/src/main/res/mipmap-xxhdpi/ic_launcher.png , 7718
RxFingerPrinter-master/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png , 10486
RxFingerPrinter-master/app/src/main/res/values-w820dp/dimens.xml , 358
RxFingerPrinter-master/app/src/main/res/values/colors.xml , 208
RxFingerPrinter-master/app/src/main/res/values/dimens.xml , 211
RxFingerPrinter-master/app/src/main/res/values/strings.xml , 78
RxFingerPrinter-master/app/src/main/res/values/styles.xml , 383
RxFingerPrinter-master/app/src/test/java/com/zwh/rxfingerprinter/ExampleUnitTest.java , 401
RxFingerPrinter-master/build.gradle , 498
RxFingerPrinter-master/gif/ScreenShot.gif , 181072
RxFingerPrinter-master/gradle.properties , 730
RxFingerPrinter-master/gradle/wrapper/gradle-wrapper.jar , 53636
RxFingerPrinter-master/gradle/wrapper/gradle-wrapper.properties , 233
RxFingerPrinter-master/gradlew , 4971
RxFingerPrinter-master/gradlew.bat , 2314
RxFingerPrinter-master/lib/.gitignore , 7
RxFingerPrinter-master/lib/build.gradle , 905
RxFingerPrinter-master/lib/proguard-rules.pro , 679
RxFingerPrinter-master/lib/src/androidTest/java/zwh/com/lib/ExampleInstrumentedTest.java , 731
RxFingerPrinter-master/lib/src/main/AndroidManifest.xml , 313
RxFingerPrinter-master/lib/src/main/java/zwh/com/lib/CodeException.java , 1020
RxFingerPrinter-master/lib/src/main/java/zwh/com/lib/FPerException.java , 1756
RxFingerPrinter-master/lib/src/main/java/zwh/com/lib/RxFingerPrinter.java , 6250
RxFingerPrinter-master/lib/src/main/res/values/strings.xml , 66
RxFingerPrinter-master/lib/src/test/java/zwh/com/lib/ExampleUnitTest.java , 389
RxFingerPrinter-master/settings.gradle , 23
说明.htm , 4317
