创建用户后,Flutter Firebase身份验证应用程序崩溃

时间:2020-07-13 22:03:12

标签: flutter firebase-authentication

我使用Firebase服务已经有一段时间了。 因此,我昨天开始了一个新的flutter项目,当用户使用Firebase Auth注册帐户时,有时会遇到应用崩溃的情况。根据控制台日志,可能是因为调用了onAuthStateChanged。 谁能帮我解决这个问题。

NB:有时成功创建了一个帐户,而不会导致应用程序崩溃。

这是我调用onAuthStateChanged的代码:

User _userFromFirebase(FirebaseUser user){
    return user != null ? User(uid: user.uid, email: user.email, name: user.displayName, phoneNo: user.phoneNumber)
        : null ;
  }

  Stream<User> get user {
    return _auth.onAuthStateChanged.map(_userFromFirebase);
  }

下面是调试控制台的输出;

D/FirebaseAuth(14930): Notifying id token listeners about user ( VZcLcnr4dJOZgLjFYU3ls96yHK13 ).
D/FirebaseAuth(14930): Notifying auth state listeners about user ( VZcLcnr4dJOZgLjFYU3ls96yHK13 ).
D/AndroidRuntime(14930): Shutting down VM
E/AndroidRuntime(14930): FATAL EXCEPTION: main
E/AndroidRuntime(14930): Process: com.tonnyapps.app3, PID: 14930
E/AndroidRuntime(14930): java.lang.NullPointerException: Attempt to invoke virtual method 'void io.flutter.plugin.common.MethodChannel.invokeMethod(java.lang.String, java.lang.Object)' on a null object reference
E/AndroidRuntime(14930):    at io.flutter.plugins.firebaseauth.FirebaseAuthPlugin$3.onAuthStateChanged(FirebaseAuthPlugin.java:710)
E/AndroidRuntime(14930):    at com.google.firebase.auth.zzp.run(com.google.firebase:firebase-auth@@19.2.0:3)
E/AndroidRuntime(14930):    at android.os.Handler.handleCallback(Handler.java:873)
E/AndroidRuntime(14930):    at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(14930):    at com.google.android.gms.internal.firebase_auth.zzj.dispatchMessage(com.google.firebase:firebase-auth@@19.2.0:6)
E/AndroidRuntime(14930):    at android.os.Looper.loop(Looper.java:214)
E/AndroidRuntime(14930):    at android.app.ActivityThread.main(ActivityThread.java:7050)
E/AndroidRuntime(14930):    at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(14930):    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
E/AndroidRuntime(14930):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)
I/Process (14930): Sending signal. PID: 14930 SIG: 9
Lost connection to device.

0 个答案:

没有答案
相关问题