这里只是简单的使用指纹识别的API
内容不多 直接看代码:
package com.example.lixu.fingerprinttest;
import android.support.v4.hardware.fingerprint.FingerprintManagerCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button btn;
private FingerprintManagerCompat compat;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(this);
//获取一个FingerprintManagerCompat实例
compat = FingerprintManagerCompat.from(this);
}
/**
* 开始验证,什么时候停止由系统来确定,如果验证成功,那么系统会关系sensor,如果失败,则允许
* 多次尝试,如果依旧失败,则会拒绝一段时间,然后关闭sensor,过一段时候之后再重新允许尝试
*
* 第四个参数为重点,需要传入一个FingerprintManagerCompat.AuthenticationCallback的子类
* 并重写一些方法,不同的情况回调不同的函数
* @param v
*/
@Override
public void onClick(View v) {
compat.authenticate(null, 0, null, new FingerprintManagerCompat.AuthenticationCallback() {
@Override
public void onAuthenticationError(int errMsgId, CharSequence errString) {
Toast.makeText(MainActivity.this, errString, Toast.LENGTH_SHORT).show();
}
@Override
public void onAuthenticationHelp(int helpMsgId, CharSequence helpString) {
Toast.makeText(MainActivity.this, helpString, Toast.LENGTH_SHORT).show();
}
@Override
public void onAuthenticationSucceeded(FingerprintManagerCompat.AuthenticationResult result) {
Toast.makeText(MainActivity.this, "验证成功", Toast.LENGTH_SHORT).show();
}
@Override
public void onAuthenticationFailed() {
Toast.makeText(MainActivity.this, "验证失败", Toast.LENGTH_SHORT).show();
}
},null);
}
}
布局就一个button,不再贴出。