デバイスがロックされているときに起動できるサービスを持つアプリがあり、このサービスはアプリのアクティビティを起動しています (デバイスがロックされていても)。このアクティビティでは、ユーザーを識別するために Google Fingerprint API を使用しています。Android 6.0.1 (Samsung Galaxy S6 および Google LG Nexus 5X) を搭載した 2 つのデバイスでテストした結果は次のとおりです。
- Samsung Galaxy S6: AuthenticationCallback のメソッド onAuthenticationError でエラー 5 または FINGERRINT_ERROR_CANCELED ( https://developer.android.com/reference/android/hardware/fingerprint/FingerprintManager.html#FINGERPRINT_ERROR_CANCELED ) を取得する
- Nexus 5X: エラーは取得されませんでしたが、認証を実行できません。ユーザーが何をしても (別の指を使用する、指を離すのが速すぎるなど)、エラーは発生しません。ユーザーはダイアログをキャンセルすることしかできません。
私の質問は次のとおりです。
- これらの動作の違いの理由を知っている人はいますか?
- デバイスがロックされた状態でこの認証方法を使用できるかどうか、誰か知っていますか?
両方のデバイスがロック解除されていて、アプリがバックグラウンド/フォアグラウンドにある場合でも、同じサービス/アクティビティ/認証ワークフローが完全に機能します。
ありがとう!