# RxFingerPrinter
[![Build Status](https://api.travis-ci.org/tbruyelle/RxPermissions.svg?branch=master)](https://travis-ci.org/tbruyelle/RxPermissions)
用rxjava简单封装了指纹识别,顺便撸了一个指纹控件
![image](https://github.com/Zweihui/RxFingerPrinter/blob/master/gif/ScreenShot.gif)
## Setup
测试机型推荐android版本6.0以上且具有指纹模块。
在项目build.gradle中配置 :
```gradle
repositories {
jcenter() // If not already there
}
```
在Module中build.gradle中配置 :
```gradle
dependencies {
compile 'com.zwh:RxFingerPrinter:1.0.1'
}
```
## Usage
创建一个 `RxFingerPrinter`实例 :
```java
RxFingerPrinter rxFingerPrinter = new RxFingerPrinter(this); // where this is an Activity instance
```
在需要开启指纹识别的地方执行begin方法并订阅:
```java
// 可以在oncreat方法中执行
Subscription subscription =
rxFingerPrinter
.begin()
.subscribe(new Subscriber<Boolean>() {
@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){
Toast.makeText(MainActivity.this, "指纹识别成功", Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(MainActivity.this, "指纹识别失败", Toast.LENGTH_SHORT).show();
}
}
});
rxfingerPrinter.addSubscription(this,subscription); //不要忘记把订阅返回的subscription添加到rxfingerPrinter里
```
在onDestroy方法中执行取消订阅
```java
//
@Override
protected void onDestroy() {
super.onDestroy();
rxfingerPrinter.unSubscribe(this);
}
```
用FPerException封装了一下指纹识别时可能出现的异常,可以在订阅的Subscriber的`onError(Throwable e)`中获取该异常
```java
@Override
public void onError(Throwable e) {
if(e instanceof FPerException){//判断该异常是否为FPerException
Toast.makeText(MainActivity.this,((FPerException) e).getDisplayMessage(),Toast.LENGTH_SHORT).show();
}
```
可以根据```((FPerException) e).getCode() ```来获取对应的错误码,也可以直接调用```((FPerException) e).getDisplayMessage()```提示默认的错误信息。
```java
public String getDisplayMessage() {
switch (code) {
case SYSTEM_API_ERROR:
return "系统API小于23";
case PERMISSION_DENIED_ERROE:
return "没有指纹识别权限";
case HARDWARE_MISSIING_ERROR:
return "没有指纹识别模块";
case KEYGUARDSECURE_MISSIING_ERROR:
return "没有开启锁屏密码";
case NO_FINGERPRINTERS_ENROOLED_ERROR:
return "没有指纹录入";
case FINGERPRINTERS_FAILED_ERROR:
return "指纹认证失败";
default:
return "";
}
}
```
没有合适的资源?快使用搜索试试~ 我知道了~
Android studio指纹识别demo.zip
共43个文件
java:9个
xml:9个
png:8个
需积分: 36 10 下载量 126 浏览量
2019-07-10
21:19:29
上传
评论 1
收藏 259KB ZIP 举报
温馨提示
Android studio指纹识别demo 添加库,在app登录界面使用指纹识别模块实现指纹登陆
资源推荐
资源详情
资源评论
收起资源包目录
Android studiozwsbdemo.zip (43个子文件)
RxFingerPrinter-master
gradlew.bat 2KB
gradlew 5KB
gradle.properties 730B
gif
ScreenShot.gif 177KB
app
proguard-rules.pro 679B
src
test
java
com
zwh
rxfingerprinter
ExampleUnitTest.java 401B
androidTest
java
com
zwh
rxfingerprinter
ExampleInstrumentedTest.java 750B
main
res
mipmap-xxxhdpi
ic_launcher.png 10KB
drawable-xhdpi
finger_green.png 5KB
finger_red.png 5KB
finger_grey.png 5KB
mipmap-hdpi
ic_launcher.png 3KB
values
colors.xml 208B
strings.xml 78B
styles.xml 383B
dimens.xml 211B
mipmap-xxhdpi
ic_launcher.png 8KB
mipmap-mdpi
ic_launcher.png 2KB
mipmap-xhdpi
ic_launcher.png 5KB
layout
activity_main.xml 2KB
values-w820dp
dimens.xml 358B
java
com
zwh
rxfingerprinter
FingerPrinterView.java 9KB
MainActivity.java 4KB
AndroidManifest.xml 663B
.gitignore 7B
build.gradle 958B
gradle
wrapper
gradle-wrapper.jar 52KB
gradle-wrapper.properties 233B
.gitignore 118B
lib
proguard-rules.pro 679B
src
test
java
zwh
com
lib
ExampleUnitTest.java 389B
androidTest
java
zwh
com
lib
ExampleInstrumentedTest.java 731B
main
res
values
strings.xml 66B
java
zwh
com
lib
FPerException.java 2KB
CodeException.java 1020B
RxFingerPrinter.java 6KB
AndroidManifest.xml 313B
.gitignore 7B
build.gradle 905B
README.md 3KB
settings.gradle 23B
build.gradle 498B
说明.htm 4KB
共 43 条
- 1
资源评论
weixin_39841848
- 粉丝: 509
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功