title: BiometricPrompt iris and face prompt is not working with Crypto object authentication. #AndroidX
body: <p><strong>Issue</strong> </p>
  
  <ul>
  <li>Biometric authentication iris and face-detection is not prompting with 
  <code>biometricPrompt.authenticate(**crypto**, promptInfo)</code> call.</li>
  </ul>
  
  <p><strong>Source reference:</strong></p>
  
  <ul>
  <li><a href="https://dev.to/ranilch/securing-data-with-biometricprompt-35mo" rel="noreferrer">Securing data with BiometricPrompt</a> (19 May 2019)</li>
  <li><a href="https://android-developers.googleblog.com/2019/10/one-biometric-api-over-all-android.html" rel="noreferrer">One Biometric API Over all Android</a> (30 October 2019)</li>
  <li><a href="http://%20ttps://developer.android.com/jetpack/androidx/releases/biometric" rel="noreferrer">Biometrich API</a></li>
  </ul>
  
  <p><strong>Device used for testing:</strong></p>
  
  <ul>
  <li>Samsung S8 (Android OS 9)</li>
  </ul>
  
  <p><strong>Steps of Authentication I'm following:</strong></p>
  
  <ul>
  <li>val biometricPrompt = BiometricPrompt(...)</li>
  <li>val promptInfo = BiometricPrompt.PromptInfo.Builder()...</li>
  <li>biometricPrompt.<strong>authenticate</strong>(promptInfo) (PFA: option <strong>A, B</strong>)</li>
  </ul>
  
  <p>and there is another authentication method which take cipher object to make sure </p>
  
  <ul>
  <li><a href="https://developer.android.com/reference/android/hardware/biometrics/BiometricPrompt.html#authenticate(android.hardware.biometrics.BiometricPrompt.CryptoObject,%20android.os.CancellationSignal,%20java.util.concurrent.Executor,%20android.hardware.biometrics.BiometricPrompt.AuthenticationCallback)" rel="noreferrer">biometricPrompt.<strong>authenticate</strong>(crypto, promptInfo)</a>. (PFA: option <strong>C</strong>)</li>
  </ul>
  
  <p>Everything worked just as expected with new and older API device support. Until unless realize tested application for other biometric authentication option <strong>iris</strong> and using <strong>face detection</strong>.</p>
  
  <p><strong>If I follow</strong>  </p>
  
  <ul>
  <li><p>biometricPrompt.<strong>authenticate</strong>(promptInfo) then application simply display authentication option based on user preference which he has to choose from Device Setting -> Biometric preference.
  And perform authentication independently. (PFA: option <strong>A, B</strong>)</p></li>
  <li><p>But if use <code>biometricPrompt.**authenticate**(crypto, promptInfo)</code> then it displays only fingerprint authentication option ONLY. For other preference option iris and face-detection, it does not display anything on <code>authenticate(..)</code> method call. (PFA: option <strong>C</strong>)</p></li>
  </ul>
  
  <p><strong>Question</strong></p>
  
  <ul>
  <li>Why other Biometric authentication is not prompting with crypto object authentication.</li>
  </ul>
  
  <p><a href="https://i.stack.imgur.com/IuCon.png" rel="noreferrer"><img src="https://i.stack.imgur.com/IuCon.png" alt="enter image description here"></a></p>