Firebase身份验证:来自不同活动的getCurrentUser?

时间:2018-09-27 14:19:57

标签: java android firebase firebase-authentication

我有一个带有登录屏幕的应用程序。现在,我只想获取在另一个Activity中登录的用户的DisplayName。我怎么能得到这个名字?

2 个答案:

答案 0 :(得分:0)

使用getCurrentUser()

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null) {
    // Name, getEmail or etc
    String name = user.getDisplayName();   

    Log.d("TAG" + name) // the name ...
}

https://firebase.google.com/docs/auth/android/manage-users#get_the_currently_signed-in_user

答案 1 :(得分:0)

使用 SharedPreferences Bundle 即可获取。

 private void onAuthSuccess(FirebaseUser currentUser) {

        userId = currentUser.getUid();
        SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
        SharedPreferences.Editor editor = sharedPref.edit();
        if (currentUser.getDisplayName() != null){
            editor.putString("userName", currentUser.getDisplayName());
        } else if (currentUser.getEmail() != null){
            editor.putString("useremail", currentUser.getEmail());
        }

        editor.putString("userId", currentUser.getUid());
        editor.commit();
    }

另一个活动,您可以在下面找到它

    SharedPreferences sharedPref = 
    PreferenceManager.getDefaultSharedPreferences(this);  
    String displayUser = sharedPref.getString("userName",null);
    String displayEmail = sharedPref.getString("useremail",null);