溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

android6.0指紋開發(fā)

發(fā)布時間:2020-06-07 21:50:05 來源:網(wǎng)絡 閱讀:837 作者:qiang_guozky 欄目:移動開發(fā)

android M指紋的資料太少,經(jīng)過一段時間閱讀原生android代碼,寫了以下例子,貢獻出來給需要幫助的人。

以下內(nèi)容基于64位的高通CPU,搭載fpc1020芯片,此部分代碼在原生android上做了更改,以應付工廠指紋的測試。原生android指紋錄入需要采集10次(因不同的芯片而定)。

代碼簡單說明:

    1.FingerPrintEnrollBase類:

        重要的是 

public interface Listener {

        void onEnrollmentHelp(CharSequence helpString);

        void onEnrollmentError(int errMsgId, CharSequence errString);

        void onEnrollmentProgressChange(int steps, int remaining);

    }

這個接口。

        1)onEnrollmentHelp函數(shù):是下層返回的指紋操作幫助信息。

        2)onEnrollmentError函數(shù)是下層返回的錯誤信息,errMsgId是錯誤信息類型,其中1表示指紋硬件不可用,3表示超時,5表示操作已取消。errString是errMsgId對應的文字信息,有需要的自己實驗就知道了。

        3)onEnrollmentProgressChange()函數(shù)是顯示當前指紋的采集情況,steps:總共需要錄入多少次;remaining是剩余多少次,我在此函數(shù)中有打印Log。


附件zip包中的FingerPrintActivity是主Activity類,F(xiàn)ingerPrintEnrollBase是指紋Base類。

需要特別說明的是,在FingerPrintEnrollBase類中有一句:private byte[] mToken = new byte[69];這個數(shù)組正常情況是通過輸入密碼后經(jīng)由framework層向hal層申請的,我這里為了省去驗證那一塊的代碼,通過sizeof(hw_auth_token_t)計算出來的為69,需要的請依此計算。我在代碼里實驗過,此數(shù)組如果不是69(在64位CPU上),將直接導致程序crach!


附件圖片是fpc指紋的采集流程,僅作為參考。有需要selftest或checkboard test的請郵件我。

附件:http://down.51cto.com/data/2367765
向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI