2017-08-11 66 views
0

我希望讓用戶使用指紋認證來允許他們在我的應用程序中執行操作。我已經執行了必要的檢查,硬件是否存在,是否指紋登記等,當他們說他們想使用指紋驗證。通過alertdialog的Android指紋驗證?

的當前alertdialog打開時,是時候讓用戶與自己的指紋進行身份驗證。我想知道是否實際上可以通過alertdialog捕獲指紋,而alertdialog afaik只有正面和負面的按鈕輸入選項。

如果它是不可能通過alertdialog要做到這一點,在正確的方向的一個點,將不勝感激。

編輯:只是要清楚,我不是說使用屏幕作爲一個指紋傳感器。

回答

1

您可以使用此FingerprintDialog庫。然後,它會簡單地是這樣的:

FingerprintDialog.initialize(this) 
    .title(R.string.title) 
    .message(R.string.message) 
    .callback(new FingerprintCallback({ 
     @Override 
     public void onAuthenticationSuccess() { 
      // Fingerprint recognized 
     } 

     @Override 
     public void onAuthenticationCancel() { 
      // User pressed cancel button 
     } 
    })) 
    .show(); 

否則,你就必須使用LayoutInflater創建自定義XML佈局,獲取視圖和對話框上調用setView(view)Google it

+0

哦,看起來像一個可能性。一旦我放棄了,我會回來的。 – BoshJailey

+0

哦,我可能天真地認爲,我可以簡單地把上面的代碼放在我想要進行認證的地方。但是,FingerprintDialog要求根據我的情況手動創建類。這是否沒有預建版本? – BoshJailey

+0

你可以,你只需要添加這行'執行'me.aflak.libraries:fingerprintdialog:2.4.2'到** app build.gradle的依賴關係部分** –

0

目前不可能。或者如果是這樣,我真的懷疑它。大多數觸摸屏手機都使用電容式觸控。這意味着,由於我們的手指導電,我們擾亂了手機屏幕前的電場。雖然它確實支持多點觸控,但我真的很懷疑它是如此精確,以至於它能檢測手指上的脊。

您需要更多的熱敏觸摸屏。我不認爲他們在大多數新一代觸摸屏中使用。

所以,你可以使用這個API https://developer.android.com/reference/android/hardware/fingerprint/FingerprintManager.html但只有在設備包含指紋掃描,絕對不是通過你設備的屏幕。

+0

對不起,你誤會了。我知道屏幕無法檢測到指紋:)。我的意思是我想提示用戶輸入指紋並通過alertdialog處理。 – BoshJailey

+0

@BoshJailey哎喲抱歉。然後你可以處理它。您可以根據需要自定義您的alertDialog。你能指定你的問題嗎,你的問題是什麼,或者你想達到什麼目的。如果你只想告知,他必須使用指紋掃描儀,現在用戶只需把消息setMessage方法:) –

+0

是啊,我已經得到了AlertDialog出現,但一個警告對話框只AFAIK有「setPositiveButton」和「setNegativeButton」。我希望用戶出現對話框,然後能夠將他們的手指放在傳感器上,並讓應用程序使用alertdialog進行身份驗證。幾乎就像給予指紋的行爲是'正面按鈕'一樣。 – BoshJailey