Android 如何在firebase中获取与当前用户的链接帐户

Android 如何在firebase中获取与当前用户的链接帐户,android,firebase,firebase-authentication,Android,Firebase,Firebase Authentication,我正在尝试将我的firebase帐户链接到我的google帐户和facebook帐户,直到这里一切正常。这是我如何链接帐户的代码 mAuth.getCurrentUser().linkWithCredential(credential) .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { @Override public void onComplete(@Non

我正在尝试将我的firebase帐户链接到我的google帐户和facebook帐户,直到这里一切正常。这是我如何链接帐户的代码

mAuth.getCurrentUser().linkWithCredential(credential)
    .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
        @Override
        public void onComplete(@NonNull Task<AuthResult> task) {
            if (task.isSuccessful()) {
                Log.d(TAG, "linkWithCredential:success");
                FirebaseUser user = task.getResult().getUser();
                updateUI(user);
            } else {
                Log.w(TAG, "linkWithCredential:failure", task.getException());
                Toast.makeText(AnonymousAuthActivity.this, "Authentication failed.",
                        Toast.LENGTH_SHORT).show();

            }


        }
    });
mAuth.getCurrentUser().linkWithCredential(凭证)
.addOnCompleteListener(这是新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
Log.d(标记“linkWithCredential:success”);
FirebaseUser=task.getResult().getUser();
updateUI(用户);
}否则{
w(标记“linkWithCredential:failure”,task.getException());
Toast.makeText(匿名AuthActivity.this,“身份验证失败”,
吐司。长度(短)。show();
}
}
});
现在我想知道的是,我的当前帐户是否链接到facebook或google。是否可以获取此信息,或者是否应将此信息保存到数据库中?

现在我想知道,我的活期账户是链接到facebook还是谷歌的

您可以检查提供商id,查看用户是否已通过Google或Facebook登录,如下所示:

FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
if (firebaseUser != null) {
    for (UserInfo userInfo : firebaseUser.getProviderData()) {
        if (userInfo.getProviderId().equals("google.com")) {
            Log.d(TAG, "User is signed in with Google");
        } else if(userInfo.getProviderId().equals("facebook.com")) {
            Log.d(TAG, "User is signed in with Facebook");
        }
    }
}
您还可以使用以下代码:

List<? extends UserInfo> infos = user.getProviderData();
for (UserInfo ui : infos) {
    if (ui.getProviderId().equals(GoogleAuthProvider.PROVIDER_ID)) {
        Log.d(TAG, ui.getProviderId());
    }
}

列表您可以使用此参考,它显示了如何获取用户以及如何管理用户properly@AbhishekSharma非常感谢您,我想知道当前用户帐户是否连接到fb、google和其他社交媒体帐户。非常感谢,我也这么做了,从这里得到了参考。有没有办法检查哪些社交帐户连接到当前登录的帐户?@Sergio我想你应该问另外一个问题。