我正在尝试获取用户的电子邮件以在帐户页面中显示它,这就是我所做的:
getuseremail() async {
FirebaseAuth _auth = FirebaseAuth.instance;
String email;
final user = _auth.currentUser();
setState() {() {
email = user.email;
}}
}
然后显示它,但是它给我错误,它为空。
答案 0 :(得分:1)
如果用户当前已登录,则必须执行以下操作:
getuseremail() async {
FirebaseAuth _auth = FirebaseAuth.instance;
String email;
final user = await _auth.currentUser();
setState() {() {
email = user.email;
}}
}
使用await
是因为currentUser()
返回了Future<FirebaseUser>
,但是请确保用户当前已登录,否则您将无法获得电子邮件。
答案 1 :(得分:1)
您可以尝试以下代码:
String _email;
void getUserEmail() {
FirebaseAuth.instance.currentUser().then((user) {
setState(() {
_email = user.email;
});
});
}
1, currentUser 返回未来
2, _email 需要在 State 上为 setState
定义一个字段答案 2 :(得分:0)
你可以试试吗?
<meta-data
android:name="yourpackagename.MyGlideModule"
android:value="AppGlideModule" />
或使用:
final user = _auth.currentUser;