重要な情報にユーザーがアクセスする前には生体認証なりを挟みたいことがよくあると思います。
そこで、今回rc01がリリースされたばかりの biometricを使って少し遊んでみました。ので、その記録を書いてみたいと思います。
実行結果
以下のように指紋認証等利用することできます。 詳細な実行結果も取得できるようでしたが、今回はそこには触れてません。
ライブラリの取得元
implementation "androidx.biometric:biometric:1.0.0-rc01"
使い方
実際のところリファレンスを見れば全部書いてあるのでチラ見程度にみてくださいな。
実際に使うときにはデバイスのOSバージョンや端末が生体認証に対応してるかなど色々コードは増えますが、よく使いそうな部分だけ書いておきます。
val prompt = BiometricPrompt(this, Executor { command -> command.run() }, object : BiometricPrompt.AuthenticationCallback() { override fun onAuthenticationSucceeded(result: BiometricPrompt.AuthenticationResult) { super.onAuthenticationSucceeded(result) Toast.makeText(applicationContext, "認証に成功しました", Toast.LENGTH_SHORT).show() } override fun onAuthenticationError(errorCode: Int, errString: CharSequence) { super.onAuthenticationError(errorCode, errString) Toast.makeText(applicationContext, "エラー", Toast.LENGTH_SHORT).show() } override fun onAuthenticationFailed() { super.onAuthenticationFailed() Toast.makeText(applicationContext, "失敗", Toast.LENGTH_SHORT).show() } }) val promptInfo = BiometricPrompt.PromptInfo .Builder() .setTitle("寿司を書います") .setSubtitle("回転寿司 函館 花まる 銀座店") .setDescription("サーモン: 800円 1つ 鮪: 400円 1つ") .setNegativeButtonText("手に入れる") .build() prompt.authenticate(promptInfo)
Android 端末で指紋認証できるようにしてみた
— kuu /くぅ寿司大好き🍣🍶 (@Fumiya_Kume) 2019年10月10日
pixel3a/Android10 pic.twitter.com/VBaOm14dP0