通过FingerPrintManager可以验证指纹的对错,实例代码:
package com.example.administrator.mywork;
import android.content.Context;
import android.os.Bundle;
import android.support.v4.hardware.fingerprint.FingerprintManagerCompat;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private FingerprintManagerCompat manager;
private Context mContext = MainActivity.this;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
manager = FingerprintManagerCompat.from(this);
findViewById(R.id.btn_check).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
manager.authenticate(null, 0, null, new MyCallBack(), null);
}
});
}
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);
Toast.makeText(mContext, "onAuthenticationError: " + errString, Toast.LENGTH_LONG).show();
}
// 当指纹验证失败的时候会回调此函数,失败之后允许多次尝试,失败次数过多会停止响应一段时间然后再停止sensor的工作
@Override
public void onAuthenticationFailed() {
Log.d(TAG, "onAuthenticationFailed: " + "验证失败");
Toast.makeText(mContext, "onAuthenticationFailed: " + "验证失败", Toast.LENGTH_LONG).show();
}
@Override
public void onAuthenticationHelp(int helpMsgId, CharSequence helpString) {
Log.d(TAG, "onAuthenticationHelp: " + helpString);
Toast.makeText(mContext, "onAuthenticationHelp: " + helpString, Toast.LENGTH_LONG).show();
}
// 当验证的指纹成功时会回调此函数,然后不再监听指纹sensor
@Override
public void onAuthenticationSucceeded(FingerprintManagerCompat.AuthenticationResult
result) {
Log.d(TAG, "onAuthenticationSucceeded: " + "验证成功");
Toast.makeText(mContext, "onAuthenticationSucceeded: " + "验证成功", Toast.LENGTH_LONG).show();
}
}
}
FingerPrintManager目前只能做到验证指纹对错,不能录入指纹,录入api还没开放。