Android Firebase 12.0.0-删除了mAuth.getCurrentUser()。getProvider()方法,如何获取提供程序名称?

j2e*_*nue 3 android firebase firebase-authentication

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
    }
Run Code Online (Sandbox Code Playgroud)

但目前最新firebase_version = '12.0.0'方法getProviders()不可用。如何获取提供者名称的字符串?

Bob*_*der 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;
        }
    }
Run Code Online (Sandbox Code Playgroud)