Streambuilder对onAuthStateChanged没有响应

时间:2020-06-30 09:01:15

标签: flutter flutter-dependencies flutter-test

当我使用onAuthStateChanged时,我的GoogleSignIn的StreamBuilder可以正常工作。但是,当我仅使用Firebase SignInWithEmailAndPassword时,它可以正常登录,正如我在控制台中看到的那样,但是我的StreamBuilder并没有更新我的应用程序页面。

StreamBuilder处理身份验证的代码。

StreamBuilder<FirebaseUser>(
  stream: FirebaseAuth.instance.onAuthStateChanged,
  builder: (BuildContext context, snapshot) {
    if (!snapshot.hasData) {
      return StartScreen();
    } else {
      return LocationPermissionStatus().handlePermission();
    }
  },
);

“我的电子邮件登录”代码(这可以正确登录,但streambuilder不能在authstatechanged上工作)

_firebaseAuth.signInWithEmailAndPassword(email: email.trim(), password: password);

我的GOOGLE登录代码(此代码可以正确登录,并且StreamBuilder可以在authStateChanged上正常运行)

final GoogleSignInAccount googleSignInAccount = await _googlSignIn.signIn();
final GoogleSignInAuthentication googleAuth =
await googleSignInAccount.authentication;
final AuthCredential credential = GoogleAuthProvider.getCredential(
    idToken: googleAuth.idToken, accessToken: googleAuth.accessToken);
_firebaseAuth.signInWithCredential(credential);

0 个答案:

没有答案