Android应用程序登录流

Android应用程序登录流,android,Android,如何在不闪烁我的主要活动的情况下要求用户登录 我有两个活动:LoginActivity和MainActivity。让我们从我的AndroidManifest.xml开始: <activity android:name=".app.MainActivity" android:logo="@drawable/logo_bw" > <intent-filter> <action android:name="android.inte

如何在不闪烁我的主要活动的情况下要求用户登录

我有两个活动:LoginActivity和MainActivity。让我们从我的AndroidManifest.xml开始:

<activity 
    android:name=".app.MainActivity"
    android:logo="@drawable/logo_bw" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
当用户未登录(例如,第一次使用我的应用程序)时,此代码在显示LoginActivity之前闪烁MainActivity

我想我有两个选择来管理这个:

1) 将LoginActivity转换为LoginFragment,并让MainActivity显示正确的片段(如中所示)

但我认为在这个facebook示例中使用了片段,因为“片段代表活动中的一种行为或用户界面的一部分。”(参见)并且登录不是MainActivity用户界面的一部分,它有自己的生命周期。 此外,我不考虑登录对话框

2) 创建一个“不可见”的活动,按照建议重定向到正确的活动


我不明白“看不见的活动”是什么意思,因为我尝试了这个解决方案,结果是EntryActivity在显示下一个活动之前闪烁了一下。这一切又开始了…

我最后做了我问题中的建议2。我创建了一个EntryActivity,它的空白布局在显示LoginActivity之前会快速闪烁

@Override
protected void onResumeFragments() {
    super.onResumeFragments();
    if (isAuthenticated()) {
        showFragment(HOME, false);
    } else {
        startActivityForResult(new Intent(this, LoginActivity.class), LOGIN_REQUEST);
    }
}