是否有办法检查在扑动应用程序,如果用户已登录与电子邮件和密码或电话号码?
我们可以这样做来检查用户是否在一般
StreamBuilder<User?>(
stream: FirebaseAuth.instance.authStateChanges(),
builder: (context, snapshot){
if (snapshot.hasData){
..........
or
if (FirebaseAuth.instance.currentUser != null){
}
但是我想知道用户是用他的电话号码还是用电子邮件和密码登录的。
通过向流构建器添加附加条件,我现在已经解决了这个问题
body: StreamBuilder<User?>(
stream: FirebaseAuth.instance.authStateChanges(),
builder: (context, snapshot){
if (snapshot.hasData && FirebaseAuth.instance.currentUser!.phoneNumber == null){
return VerifyEmailPage();
} else if (snapshot.hasData && FirebaseAuth.instance.currentUser!.phoneNumber != null){
return const HomeScreen();
}
else {
return AuthPage();
}
},
),
我不确定是否有更好的方法来做这件事,但这是我目前想到的。