【发布时间】:2019-07-22 18:58:03
【问题描述】:
我正在尝试使用 firebase_auth 使用电子邮件和密码创建身份验证代码有 3 页 1.Main 页面检查连接是否已建立或用户是否已登录。并导航到由函数 _handleWidnowDisplay() 完成的相应页面。
但由于某种原因,该应用程序卡在 if (snapshot.connectionState == ConnectionState.waiting){} 块中并且无法连接到 firebase 。
在添加 firebase 依赖项时,我遇到了一些问题,通过将 android.useAndroidX=true 和 android.enableJetifier=true 添加到 gradel.properties 解决了这些问题。
import 'package:flutter/material.dart';
import 'screens/MyLogin.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'screens/MainPage.dart';
void main() => runApp(new MaterialApp(
color: Colors.red,
home: _handleWidnowDisplay(),
));
Widget _handleWidnowDisplay() {
return StreamBuilder(
stream: FirebaseAuth.instance.onAuthStateChanged,
builder: (BuildContext context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return Scaffold(
appBar: AppBar(
title: new Text("MyLogin"),
backgroundColor: Colors.red.shade900,
),
body: new Container(
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height,
color: Colors.red.shade900,
child: new Center(
child: new Text("Loding....."),
)));
} else if (snapshot.hasData) {
return MainPAge();
} else {
return MyLogin();
}
},
);
}
【问题讨论】: