如何修改此onStart()
方法以获得单独的Phone身份验证用户数据库?
@Override
protected void onStart() {
super.onStart();
FirebaseAuth firebaseAuth = FirebaseAuth.getInstance();
if (firebaseAuth.getCurrentUser() != null) {
if(what condition required to check for phone auth){
startActivity(new Intent(EnterAs.this, UI_Main_User.class));
finish();
} else {
for email auth users
}
}
您可以通过在FirebaseUser对象上调用UserInfo的getProviderData((方法来获取已验证用户使用的所有身份验证提供程序的列表。需要注意的是,每个UserInfo类都包含一个名为getProviderId((的方法,该方法返回提供者的ID。
代码中一个可行的解决方案可能是这样的:
FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
List<? extends UserInfo> userInfos = firebaseUser.getProviderData();
for (UserInfo userInfo : userInfos) {
String providerId = userInfo.getProviderId();
if (providerId.equals(PhoneAuthProvider.PROVIDER_ID)) {
//Your logic goes here
}
}
如果将来你将使用Firebase的谷歌身份验证,那么你应该检查一下:
GoogleAuthProvider.PROVIDER_ID