Everything works fine with 'androidx.biometric:biometric:1.0.0-alpha03', however when I build my project with the latest 'androidx.biometric:biometric:1.0.0-alpha04' and call myBiometricPrompt.authenticate(promptInfo) it throws this exception: FragmentManager is already executing transactions.

Here is the stacktrace:

 java.lang.IllegalStateException: FragmentManager is already executing transactions
        at androidx.fragment.app.FragmentManagerImpl.ensureExecReady(FragmentManager.java:2207)
        at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2267)
        at androidx.fragment.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:814)
        at androidx.biometric.BiometricPrompt.authenticateInternal(BiometricPrompt.java:525)
        at androidx.biometric.BiometricPrompt.authenticate(BiometricPrompt.java:465)
        at com.my.app.ui.LoginFragment.handleTouchIdAuth(LoginFragment.kt:161)
        at com.my.app.ui.LoginFragment.onViewCreated(LoginFragment.kt:62)
        at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManager.java:1471)
        at androidx.fragment.app.FragmentManagerImpl.addAddedFragments(FragmentManager.java:2646)
        at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2416)
        at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2372)
        at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2273)
        at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3273)
        at androidx.fragment.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:3229)
        at androidx.fragment.app.Fragment.performActivityCreated(Fragment.java:2466)
        at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManager.java:1483)
        at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)
        at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)
        at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3269)
        at androidx.fragment.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:3229)
        at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:201)
        at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:620)
        at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:178)
        at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1391)
        at android.app.Activity.performStart(Activity.java:7157)
        at android.app.ActivityThread.handleStartActivity(ActivityThread.java:2937)
        at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:180)
        at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:165)
        at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:142)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6669)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

Does anyone know what happened and what to do? For now, I'll stick with version 1.0.0-alpha03

Thank you!

推荐答案

EDIT: The issue seems to be resolved, see @olearyj234's comment/answer for the correct way to reolve the issue with beta01 and newer.

--

There seems to be an issue with alpha04, reverting to alpha03 fixes it. Guess we'll have to wait for alpha05 before upgrading.

我真希望谷歌能等到生物识别库用完阿尔法之后再弃用 fingerprint 库……

Kotlin相关问答推荐

Spring Boot Bean验证器未触发

&x是T&q;和&q;(x为?T)!=空(&Q;)?

当我通过媒体通知更改音乐时不要更新我的 UI

Kotlin 中命名构造函数的惯用方式

为什么 trySend 会发出假数据?

jlink:在合并模块和 kotlin.stdlib 中打包 kotlin.*

使用事务时未调用 Kafka ConsumerInterceptor onCommit

如果不在可组合函数中,如何获取 stringResource

在 Kotlin 中 import 如何找到文件路径?

奇怪的 cotlin check Not Null 参数错误

如何使用 gradle 脚本 Kotlin 构建文件构建可运行的 ShadowJar?

在协程中等待侦听器内的数据

Jetpack Compose State:修改类属性

如何将命令行参数传递给Gradle Kotlin DSL

如何暂停kotlin coroutine直到收到通知

如何从kotlin中的类实例化对象

空对象引用上的 TransitionSet ArrayList.size()

(kotlin的Moshi)@Json vs@field:Json

尾随 lambda 语法(Kotlin)的目的是什么?

Kotlin:获取文件的扩展名,例如.txt