我使用此代码在Firebase中定义当前用户和电子邮件:
var CurrentUserEmail = FirebaseAuth.Instance.CurrentUser.Email;
它没有给出正确的用户和电子邮件。你有同样的问题吗?
答案 0 :(得分:0)
我不熟悉xamarin,但如果您想获得当前用户或他/她的电子邮件,那么您应该确保用户已登录,否则您无法获得这些详细信息,例如的是:
//get the current user like that
var currentuser =FirebaseAuth.Instance.CurrentUser;
//check is user not null (in other words if user signed in)
if(currentuser != null){
//this means user is signed in
//get user uid
var uid= currentuser.Uid;
//get user email
var email= currnetuser.Email;
}
答案 1 :(得分:0)
我发现了我的错误,万一谁会遇到同样的情况。我在SignInWithEmailAndPassword:
之后立即键入了StartActivityauth.SignInWithEmailAndPassword(email,password)
.AddOnCompleteListener(this,this);
StartActivity(intent); // incorrect
正确的方法:
auth.SignInWithEmailAndPassword(email,password)
.AddOnCompleteListener(this,this);
...
public void OnComplete(Task task)
{
if(task.IsSuccessful){
StartActivity(intent);
Finish();
}
}
答案 2 :(得分:0)
首先,您必须声明private FirebaseAuth _auth;
作为您活动的属性。
然后您可以通过以下方式访问currentUser:
FirebaseUser currentUser = _auth.CurrentUser;