繁体   English   中英

Android应用登录流程

[英]Android app login flow

如何在不闪烁MainActivity的情况下要求用户登录?

我有两个活动: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>

MainActivity负责检查用户是否已登录:

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

当用户未登录时(例如,第一次使用我的应用程序),此代码在显示LoginActivity之前会闪烁MainActivity。

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

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

但我认为片段在这个facebook样本中很有用,因为“片段代表了一个Activity中的行为或用户界面的一部分。” (参见文档 )并且Login不是MainActivity用户界面的一部分,具有自己的生命周期。 此外,我不考虑登录对话。

2)创建一个“隐形”活动,重定向到这里建议的正确活动

我不明白“隐形活动”是什么意思,因为我尝试了这个解决方案,在发生下一个活动之前会发生什么变化是EntryActivity的闪烁。 这一切都重新开始......

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM