0

我有活动堆栈 A->B->C->D... 我在启动 B 后不久就完成了 A。所以堆栈实际上是 b->C->..

现在我有一个广播接收器,它启动 A。从接收器我必须将它作为一个新任务启动。因此,现在使用堆栈 A->B 创建了另一个任务。

所以现在我的堆栈将是(B->C(来自新任务)B->C->D(来自上一个堆栈)

但我需要的是只有新的任务堆栈。即新堆栈将只是 B->C

我也尝试使用这些标志,但没有帮助

Intent loginIntent = new Intent(context, MyActivity.class);
        loginIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
        loginIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        context.startActivity(loginIntent);
4

1 回答 1

0

根据Androidmanifest.xml设置launchMode怎么样?在你的要求中,它可能设置为singleTask。

因此,在您的 AndroidManifest.xml 中,它会是这样的

    <activity
        android:name=".ScrollDemoActivity"
        android:label="@string/app_name"
        android:launchMode="singleTask">
        ...
    </activity>

参考:http: //developer.android.com/guide/components/tasks-and-back-stack.html

于 2012-06-24T14:54:27.863 回答