为什么我在firebase android xamarin中出现错误的当前用户

时间:2017-11-16 20:27:37

标签: android firebase xamarin firebase-authentication

我使用此代码在Firebase中定义当前用户和电子邮件:

var CurrentUserEmail = FirebaseAuth.Instance.CurrentUser.Email;

它没有给出正确的用户和电子邮件。你有同样的问题吗?

3 个答案:

答案 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:

之后立即键入了StartActivity
auth.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;