如何打开Firebase Auth UI作为第一个活动

时间:2019-08-12 02:13:12

标签: android firebase firebase-authentication firebaseui

我正在使用Firebase Auth UI,所以我使用startActivityForResult

我调用了活动A中提到的方法,并且登录屏幕正确显示。

问题在于,在调用上述方法之前,先前的活动(活动A)显示了几秒钟,这不是所希望的,此外,当您按下“后退”按钮时,您可以看到活动A。 / p>

startActivityForResult(
    // Get an instance of AuthUI based on the default app
    AuthUI.getInstance()
            .createSignInIntentBuilder()
            .setAuthMethodPickerLayout(buildMethodPickerLayout())
            .setAvailableProviders(getAuthProviders())
            .setIsSmartLockEnabled(!BuildConfig.DEBUG)
            .setTheme(R.style.AppThemeFirebaseAuth)
            .build(),

    RC_SIGN_IN);

我知道我可以使用onActivityResult在返回时退出应用程序,但这不能解决第一个问题,我还想知道一个更清洁的选项。

我想在第一个屏幕上显示“登录”布局。

1 个答案:

答案 0 :(得分:0)

如果您这样设置样式,则在开始和退出时将看不到Firebase AuthUI活动的闪烁/动画-您将看到“登录”布局作为第一个屏幕。

    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        ...
        <item name="android:windowBackground">@drawable/appBackground</item>
        <item name="android:windowDisablePreview">true</item>
        <item name="android:windowAnimationStyle">@null</item>
    </style>
    <style name="LoginTheme" parent="FirebaseUI">
        ...
        <item name="android:windowBackground">@drawable/appBackground</item>
    </style>

但是最好的选择是构建自定义登录屏幕,以不使用Firebase活动。