第二次无法从FireBase接收OTP

时间:2019-03-05 23:30:39

标签: android firebase firebase-authentication one-time-password

我正在尝试使用Android App从Firebase接收OTP号码。每次电话重启后,我都会得到OTP,此后,我将不再获得任何OTP。非常感谢您的帮助。我的项目包含以下四个活动。

选项已尝试解决此问题

  1. 清除了手机上的数据。其他用户也遇到同样的问题。

1 个答案:

答案 0 :(得分:1)

您应该先删除

    FirebaseAuth.getInstance().signOut();
    FirebaseAuth.getInstance().signOut();
    FirebaseAuth.getInstance().signOut();
    FirebaseAuth.getInstance().signOut();
    FirebaseAuth.getInstance().signOut();

不应连续调用5次。只需执行一次,并使用 onStop 方法:

override fun onStop() {
    super.onStop()
    FirebaseAuth.getInstance().signOut()
}

我认为您应该设置

FirebaseApp.initializeApp(this);

一次,并确保将其最好放置在您的自定义应用类中:

class CustomApplication : Application() {
override fun onCreate() {
    super.onCreate()

    /**
     * Firebase Initialization code
     * **/

    FirebaseApp.initializeApp(this)
}}

然后,在您的Manifest.xml文件中:

<application
        android:name=".CustomApplication"
        android:allowBackup="true"
        android:fullBackupContent="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:largeHeap="true"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

... ....

</application>

官方Firebase github存储库

此外,请务必查看 Firebase / quickstart-android-PhoneAuthActivity 的示例代码,以对官方存储库进行电话身份验证: quickstart-android for phone authentication

然后,您应该准备使用Firebase进行正确的电话身份验证。