首页 > 解决方案 > Firebase Auth,在验证手机身份验证时崩溃,android

问题描述

我的应用程序在验证手机身份验证时崩溃,成功接收短信但在单击验证按钮时崩溃,并非所有设备,来自 Play 商店的 20% 设备都崩溃了。这是来自 Play 管理中心的日志。

java.lang.IllegalArgumentException: 
  at com.google.android.gms.common.internal.Preconditions.checkArgument (Preconditions.java:9)
  at com.google.firebase.auth.PhoneAuthCredential.<init> (PhoneAuthCredential.java:60)
  at com.google.firebase.auth.PhoneAuthCredential.zza (PhoneAuthCredential.java:10)
  at com.google.firebase.auth.PhoneAuthProvider.getCredential (PhoneAuthProvider.java:2)
  at com.udaan.recstudentportalV2.VerifyMobile.matchOtp (VerifyMobile.java:2)
  at com.udaan.recstudentportalV2.VerifyMobile.access$200 (VerifyMobile.java:2)
  at com.udaan.recstudentportalV2.VerifyMobile$3.onClick (VerifyMobile.java:2)
  at android.view.View.performClick (View.java:7862)
  at android.widget.TextView.performClick (TextView.java:15004)
  at com.google.android.material.button.MaterialButton.performClick (MaterialButton.java:3)
  at android.view.View.performClickInternal (View.java:7831)
  at android.view.View.access$3600 (View.java:879)
  at android.view.View$PerformClick.run (View.java:29359)
  at android.os.Handler.handleCallback (Handler.java:883)
  at android.os.Handler.dispatchMessage (Handler.java:100)
  at android.os.Looper.loop (Looper.java:237)
  at android.app.ActivityThread.main (ActivityThread.java:8167)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:496)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1100)

任何帮助都将不胜感激。

标签: javaandroidfirebasefirebase-authentication

解决方案


通过重新创建该问题已解决。当用户在发送 OTP 之前单击验证按钮时会发生这种情况。在调用 getCredential() 方法之前初步检查是否发送了 OTP 将有助于纠正此问题。


推荐阅读