最近有个android M 项目上加入了指纹器件,需要测试指纹的录入和解锁,看了下M 自带的api后简单的做了实现。
主要是frameworks/base/core/java/android/hardware/fingerprint下的FingerprintManager类。
还有就是/frameworks/base/services/core/java/com/android/server/fingerprint下的FingerprintService.java
源码:
package xxxx.xxx.xxxx
import android.app.Activity;
import android.view.KeyEvent;
import android.content.pm.ActivityInfo;
import android.content.Intent;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.os.SystemProperties;
import android.os.Handler;
import android.os.Message;
import android.os.PowerManager;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.Toast;
import android.content.Context;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.hardware.fingerprint.Fingerprint;
import android.hardware.fingerprint.FingerprintManager;
import android.hardware.fingerprint.FingerprintManager.AuthenticationCallback;
import android.hardware.fingerprint.FingerprintManager.AuthenticationResult;
import android.hardware.fingerprint.FingerprintManager.RemovalCallback;
import android.os.CancellationSignal;
import java.util.List;
import android.os.Vibrator;
public class TestFingerPrint extends Activity implements View.OnClickListener {
private static final String TAG = "TestFingerPrint";
private RoundProgressBar enrollRoundPrg;//my progressbar,you can also define yours
private boolean mEnrolling;
private static Handler mOutHandler = null;
private int ID = -1;
private String mResult = null;
private int pass = 0;
private PowerManager.WakeLock mWakeLock;
private boolean mbStarted = false;
private Button mPass = null;
private Button mFail = null;
private Button mReset = null;
private byte[] mToken = new byte[69];//i hate this
private Vibrator mVibrator;
private FingerprintManager mFingerprin