首页 > 解决方案 > 如何在当前片段中使用 FirebaseUI?

问题描述

我想创建一个带有两个选项卡的 TabLayout -Group1Group2. 每个组是一组不同的人。因为Group1我们只允许使用电子邮件和密码进行连接,并且Group2我们只允许使用电话号码进行连接。我正在尝试为每个选项卡的片段添加 FirebaseUI。

在文档的帮助下,我编写了以下onCreateView片段Group2

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View fragmentView = inflater.inflate(R.layout.group2_login, container, false);

    FirebaseAuth mFirebaseAuth = FirebaseAuth.getInstance();
    mFirebaseAuth.addAuthStateListener(new FirebaseAuth.AuthStateListener() {
        @Override
        public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
            FirebaseUser user = firebaseAuth.getCurrentUser();
            if (user != null) {
                Intent intent = new Intent(getActivity(), DashboardActivity.class);
                startActivity(intent);
            } else {
                AuthUI.IdpConfig idpConfig = new AuthUI.IdpConfig.PhoneBuilder().setDefaultCountryIso("IN").build();
                List<AuthUI.IdpConfig> providers = Collections.singletonList(idpConfig);
                Intent intent = AuthUI.getInstance().createSignInIntentBuilder().setTheme(R.style.myauth).setAvailableProviders(providers).build();
                startActivityForResult(intent,RC_SIGN_IN);
            }
        }
    });

    return fragmentView;
}

但据我了解,它将在新屏幕中打开 FirebaseUI,而不是将其保留在当前屏幕中group2_login。如何在片段的 UI 中使用 FirebaseUI?

标签: javaandroidfirebasefirebaseui

解决方案


如您所见, Firebase UI会为结果启动一个活动

我不认为 FirebaseUI 可以支持您想要的东西,但是有FirebaseUI 的 repo,您​​可以根据需要自定义内容,然后将其构建为项目中的自定义依赖项。


推荐阅读