android 添加指紋識別

1. AndroidManifest權限聲明android

<uses-permission android:name="android.permission.USE_FINGERPRINT"/>git


2. 獲取FingerManager服務對象github

public static FingerprintManager getFingerprintManager(Context context) {
    FingerprintManager fingerprintManager = null;
    try {
        fingerprintManager = (FingerprintManager) context.getSystemService(Context.FINGERPRINT_SERVICE);
    } catch (Throwable e) {
        FPLog.log("have not class FingerprintManager");
    }
    return fingerprintManager;
}api

3. 啓動指紋識別.net

mFingerprintManager.authenticate(cryptoObject, mCancellationSignal, 0, mAuthCallback, null);對象


4.兼容性
官方v4包中 使用FingerprintManagerCompat代替FingerprintManager能夠兼容更低版本get

5.使用指紋識別須要確認
    是否有指紋服務
    指紋服務中是否返回硬件支持
        /**
     * 有指紋識別硬件支持
     * @return
     */
    public boolean isHardwareDetected() {
        try {
            return mFingerprintManager.isHardwareDetected();
        } catch (SecurityException e) {
        } catch (Throwable e) {}
        return false;
    }it

    /**
     * 是否錄入指紋,有些設備上即便錄入了指紋,可是沒有開啓鎖屏密碼的話此方法仍是返回false
     * @return
     */
    public boolean isHasEnrolledFingerprints() {
        try {
            // 有些廠商api23以前的版本可能沒有作好兼容,這個方法內部會崩潰(redmi note2, redmi note3等)
            return mFingerprintManager.hasEnrolledFingerprints();
        } catch (SecurityException e) {
        } catch (Throwable e) {
        }
        return false;
    }io

 

demo 能夠參考class

Github地址:https://github.com/PopFisher/FingerprintRecognition

相關文章
相關標籤/搜索