我有两个应用程序App-1& APP-2。 App-2有一个按钮,可以启动App-1。
需要表现得如下: -
onClick()
具有以下代码: -
Intent i = new Intent(); i.setAction( “com.x.y.z”); //解析为App-1的活动A. i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); i.putExtra(“x”,“y”); startActivity(ⅰ);
在步骤4之后,调用活动A的onCreate()
,这很正常。但我希望Android能够将整个活动堆栈带到前台,因为App-1正在运行& Android还没有杀死它。(如果我在第2步之后启动了App-1,这是相同的行为。)
我希望向用户显示活动C.
如果有可能,请帮助我。
我尝试将活动A作为singleTask& amp; singleInstance。如果我这样做,只有活动A被带到前台,这不是我想要的。
App-1清单的片段如下所示: -
<activity android:name=".aa.a"
android:configChanges="orientation|keyboardHidden|locale"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoDisplay"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="com.x.y.z" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
答案 0 :(得分:1)
FLAG_ACTIVITY_NEW_TASK通知Android开始新任务;新任务不包含B&amp; C,所以不要指望它们中的任何一个被显示出来。 此外,FLAG_ACTIVITY_CLEAR_TOP删除B&amp; C,与你想要的完全相反。
尝试删除这两个标志。