我的设备上安装了两个应用程序,即应用程序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>
答案 0 :(得分:0)
当我设置android:noHistory="false"
时,它有效。我认为android:noHistory="true"
杀死了applicationA的顶级活动,使其失效。