gpt4 book ai didi

android - 检查用户在当前 session 中使用了哪种身份验证方法

转载 作者:行者123 更新时间:2023-12-04 23:55:32 25 4
gpt4 key购买 nike

我正在使用 Firebase 和 FirebaseUI 制作一个安卓应用。该应用程序允许使用电子邮件和密码、google 和 facebook 登录。如何找到用户使用了哪些登录方法?

在这里描述流程:

  1. 用户看到登录屏幕 (FirebaseUI)
  2. 用户使用首选登录方法并登录
  3. 下一个布局根据用户使用的登录方式显示

例如

//this activity is launched after successful sign in
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(/*signed in with email-password*/)
setContentView(R.layout.activity_main_email);
else if(/*signed in with google*/)
setContentView(R.layout.activity_main_google);
else //signed in with facebook
setContentView(R.layout.activity_main_facebook);
//do something
}

最佳答案

根据 this Frank van Puffelen 表示,这可以通过检查当前用户的提供商数据来实现。

根据他的解决方案,这样做是这样的:

    public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

//detect provider id like that

for(UserInfo user: FirebaseAuth.getInstance().getCurrentUser().getProviderData()){

if(user.getProviderId().equals("facebook.com")){
//logged with Facebook

}

if(user.getProviderId().equals("google.com")){
//logged with google

}


}

关于android - 检查用户在当前 session 中使用了哪种身份验证方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47373313/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com