hieuvp / react-native-fingerprint-scanner

Provide Fingerprint, Touch ID, and Face ID Scanner for React Native (Compatible with both Android and iOS)
https://www.npmjs.com/package/react-native-fingerprint-scanner
870 stars 298 forks source link

🐛 androidx.biometric.BiometricFragment in isFingerprintDialogNeededForCrypto #203

Closed valdio closed 2 years ago

valdio commented 2 years ago

NullPointerException Attempt to invoke virtual method 'androidx.biometric.BiometricPrompt$CryptoObject androidx.biometric.BiometricViewModel.getCryptoObject()' on a null object reference

reference link

https://androidx.de/androidx/biometric/BiometricFragment.html

mikehardy commented 2 years ago

https://stackoverflow.com/help/how-to-ask https://stackoverflow.com/help/minimal-reproducible-example

jwoodmansey commented 2 years ago

We're also seeing this, specifically on Samsung devices using Exynos chipsets. Seems to be happening on the FingerprintScanner.release(); method.

The following stack trace was taken from a SM-G970F running Android 11:

java.lang.NullPointerException: Attempt to invoke virtual method 'androidx.biometric.BiometricPrompt$CryptoObject androidx.biometric.BiometricViewModel.getCryptoObject()' on a null object reference
    at androidx.biometric.BiometricFragment.isFingerprintDialogNeededForCrypto(BiometricFragment.java:1012)
    at androidx.biometric.BiometricFragment.isUsingFingerprintDialog(BiometricFragment.java:997)
    at androidx.biometric.BiometricFragment.cancelAuthentication(BiometricFragment.java:595)
    at androidx.biometric.BiometricPrompt.cancelAuthentication(BiometricPrompt.java:1015)
    at com.hieuvp.fingerprint.ReactNativeFingerprintScannerModule.release(ReactNativeFingerprintScannerModule.java:221)
    at java.lang.reflect.Method.invoke(Method.java)
    at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:372)
    at com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:151)
    at com.facebook.react.bridge.queue.NativeRunnable.run(NativeRunnable.java)
    at android.os.Handler.handleCallback(Handler.java:938)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
    at android.os.Looper.loop(Looper.java:246)
    at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:226)
    at java.lang.Thread.run(Thread.java:923)