打开应用程序的奇怪问题

时间:2015-12-25 12:43:03

标签: android android-activity

我有LoginActivity,在成功登录后,我通过intent启动MainActivity并完成LoginActivity。

我按下后退按钮,然后通过图标打开应用程序,它显示我的MainActivity但如果我按下后退按钮后从最近的应用程序列表中打开应用程序,所以我看到LoginActivity

我已经检查过LoginActivity是否被销毁

怎么可能?

清单

    <activity android:name=".LoginActivity" />
    <activity android:name=".MainActivity"
        android:launchMode="singleTask" />

启动MainActivity

Intent intent = new Intent(getActivity(), MainActivity.class);
                                mProgressDialog.dismiss();
                                startActivity(intent);
                                getActivity().finish();

2 个答案:

答案 0 :(得分:2)

删除android:launchMode="singleTask"

为什么要添加launchMode,添加此项,您只能获取其实例一次。默认为“标准”,有关详细信息,请查看documentation

答案 1 :(得分:0)

Docs说:

  

&#34;标准&#34;和&#34; singleTop&#34;模式在一个方面彼此不同:每当有一个&#34;标准的新意图&#34; activity,创建类的新实例以响应该意图。每个实例处理一个intent。同样,一个新的&#34; singleTop&#34;也可以创建活动来处理新意图。但是,如果目标任务已在其堆栈顶部具有活动的现有实例,则该实例将接收新意图(在onNewIntent()调用中);没有创建新实例。

因此,您不需要singleTask启动模式。除此之外,我无法看到<intent-filter> LoginActivityMAIN行为和LAUNCHER类别。