LAUNCHER活动未在android中首次加载

时间:2018-07-14 14:15:14

标签: android

清单中有代码:

<activity android:name=".activities.login.LoginActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            android:name=".activities.main.screen.MainActivity"
            android:exported="true"
            android:launchMode="singleTop"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="stateHidden" />

正在发生的事情:

  • 我是第一次加载应用程序(例如:从以下位置安装 androidStudio)“ MainActivity”已加载,但一旦我关闭并启动 每次都启动LoginActivity
  • 这是第一次发生
  • MainActivity首次启动
  • 由于我的启动器是,它应该始终正确加载“ LoginActivity” “ LoginActivity”为什么LoginActivity只是第一次加载。是 我需要检查任何设置

1 个答案:

答案 0 :(得分:1)

您已经使用

android:launchMode="singleTop"

在您的主要活动中。根据文档-

如果“ singleTop”活动的现有实例在目标任务中,但不在堆栈的顶部,或者它在堆栈的顶部,但不在目标任务的位置,则将是一个新实例创建并压入堆栈。

所以这就是MainActivity正在加载的原因。

您应该删除

android:launchMode="singleTop"

获得理想的结果。

有关启动模式的更多信息,请参阅文档- https://developer.android.com/guide/topics/manifest/activity-element