Firebase 电话身份验证不起作用

时间:2021-01-21 14:44:58

标签: java android firebase-authentication

在某些 Android 设备(如 android 10)中,当我输入电话号码并调用以下方法时,我的应用程序崩溃

PhoneAuthProvider.verifyPhoneNumber(options);

如您所见,由于某些空指针问题,日志报告 recaptcha 活动未恢复

java.lang.RuntimeException: Unable to resume activity {com.horizam.businessclient/com.google.firebase.auth.internal.RecaptchaActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.android.gms.internal.firebase-auth-api.zzat com.google.android.gms.internal.firebase-auth-api.zzdk.zza()' on a null object reference
        at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4411)
        at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:4443)
        at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:52)
        at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2147)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:237)
        at android.app.ActivityThread.main(ActivityThread.java:7814)
        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:1075)
     Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.android.gms.internal.firebase-auth-api.zzat com.google.android.gms.internal.firebase-auth-api.zzdk.zza()' on a null object reference
        at com.google.firebase.auth.internal.zzk.zzb(com.google.firebase:firebase-auth@@20.0.1:2)
        at com.google.firebase.auth.internal.RecaptchaActivity.zzd(com.google.firebase:firebase-auth@@20.0.1:10)
        at com.google.android.gms.internal.firebase-auth-api.zzth.<init>(com.google.firebase:firebase-auth@@20.0.1:13)
        at com.google.firebase.auth.internal.RecaptchaActivity.onResume(com.google.firebase:firebase-auth@@20.0.1:43)
        at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1454)
        at android.app.Activity.performResume(Activity.java:8103)
        at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4401)
        at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:4443) 
        at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:52) 
        at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176) 
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2147) 
        at android.os.Handler.dispatchMessage(Handler.java:107) 
        at android.os.Looper.loop(Looper.java:237) 
        at android.app.ActivityThread.main(ActivityThread.java:7814) 
        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:1075)

如果您帮我解决这个问题,请提前致谢。

1 个答案:

答案 0 :(得分:0)

好的,我找到了解决这个问题的方法。代码没有任何问题。是 Android 设备不允许打开浏览器以显示 Recaptcha 屏幕。它现在运行良好。