firebase_version = '11.8.0'
中有一个名为mAuth.getCurrentUser().getProviders()
的方法我可以调用以获取提供者名称列表。所以对于电子邮件提供商来说,它是"密码"对于Facebook来说是" facebook.com"等等
方法调用是这样的:
final FirebaseUser currentUser = mAuth.getCurrentUser()
for (String provider : this.currentUser.getProviders()) {
//i was looping over all the providers this way, and then storing the provider string in my db
}
但现在在最新的firebase_version = '12.0.0'
中,方法getProviders()
不可用。
如何将提供者名称作为字符串?
答案 0 :(得分:5)
使用FirebaseUser.getProviderData()。它返回UserInfo的列表,每个列表都包含一个字符串Provider ID。
例如:
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
List<? extends UserInfo> infos = user.getProviderData();
for (UserInfo ui : infos) {
if (ui.getProviderId().equals(GoogleAuthProvider.PROVIDER_ID)) {
return true;
}
}