startActivity第二次不创建活动

时间:2017-05-17 08:53:38

标签: android android-intent android-activity

我的设备上安装了两个应用程序,即应用程序A和应用程序B.

当用户启动应用程序A时,他们按一个按钮启动应用程序B.

我使用以下代码:

Intent intent = Global.CurrentContext.getPackageManager().getLaunchIntentForPackage("some.random.app");
Global.CurrentContext.startActivity(intent);

用户第一次执行此操作时,它工作正常并按预期工作,但是,如果用户随后启动电话任务管理器并轻扫应用程序B.然后用户按下应用程序A中的按钮。活动是没有创建。

我认为这与android破坏任务和活动的方式有关。我的思维过程是当用户滑动杀死应用程序B时活动被破坏,但任务仍然存在。然后第二次按下应用程序A中的按钮,它将附加到旧任务,然后不显示给用户。

活动的应用程序A活动清单:

<activity
            android:name="a.a.a.LogonActivity"
            android:label="@string/app_name"
            android:noHistory="true"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Light.NoTitleBar"
            android:windowSoftInputMode="stateHidden"/>

申请B活动的活动清单:

 <activity
            android:name=".activity.HomeActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="adjustPan">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

1 个答案:

答案 0 :(得分:0)

当我设置android:noHistory="false"时,它有效。我认为android:noHistory="true"杀死了applicationA的顶级活动,使其失效。