Android:多个活动实例以相同的目的启动。把它带到前台?

Android:多个活动实例以相同的目的启动。把它带到前台?,android,android-activity,android-intent,Android,Android Activity,Android Intent,我的应用程序启动了多个 使用相同意图的相同活动。我的主要活动是课堂型的 A它对两个相同的孩子进行startActivity()测试 B类。所以我们推出了B1和B2。如果B1和B2都是 暂停(通过按下后退按钮并确保未调用finish() 在他们身上,所以他们是真正的暂停),如何才能唯一地带来B1或B1 还是再回到前景?我确实想启动一个新的B活动。我 希望唯一地将B1或B2带到前台 所以B1和B2都是这样产生的。。。 意图=新意图(上下文,B.class); intent.addFlags(inte

我的应用程序启动了多个 使用相同意图的相同活动。我的主要活动是课堂型的 A它对两个相同的孩子进行startActivity()测试 B类。所以我们推出了B1和B2。如果B1和B2都是 暂停(通过按下后退按钮并确保未调用finish() 在他们身上,所以他们是真正的暂停),如何才能唯一地带来B1或B1 还是再回到前景?我确实想启动一个新的B活动。我 希望唯一地将B1或B2带到前台

所以B1和B2都是这样产生的。。。 意图=新意图(上下文,B.class); intent.addFlags(intent.FLAG\u活动\u新任务); 星触觉(意向)

现在我希望A将B1(或B2)带到前台/前台,因此我使用 下面是代码,但启动时如何区分B1或B2 活动?这只会使位于顶部的B的最后一个实例 前景

意图=新意图(上下文,B.class); intent.addFlags(intent.FLAG\u ACTIVITY\u REORDER\u TO\u FRONT); 星触觉(意向)

我试着保留B1和B2的引用并做一些事情 像这样,但这也只涉及到活动的最后一个实例 B班在上面

意向意向=新意向(B1context,B.class); intent.addFlags(intent.FLAG\u ACTIVITY\u REORDER\u TO\u FRONT); b1.开始触觉(意图)

我甚至试过这个,但它仍然不能让我得到我独特的B1或B2。。。 Intent Intent=B1.getIntent();//i、 e.原意是: 启动我 星触觉(意图);//仍然只把最后一个B带到前面 他在上面


提前谢谢

谢谢。这些都是很好的建议。我曾考虑过用一个C扩展B。在我的应用程序中,我想做一些非常一般的事情,因为我有n个B实例。这不是一个固定的数字。我在考虑在AndroidManifest.xml中创建10-20个简单的子类,然后在它们被破坏时对它们进行管理,这样我就可以重用它们了

我不知道,但看起来类似于子类的想法。很高兴有另一个选择来考虑


我觉得很奇怪,在Android中,如何处理历史堆栈比使用技巧更容易,这一点并不明显。除了对堆栈中的活动进行唯一标识外,所有内容都在那里

基本上你不能。新任务的目的是在用户看到时启动单独的“应用程序”。如果你用它来操纵应用程序的流量,你就是在滥用它(并且破坏了最近的任务等)

您可以通过通过子类使它们成为实际的独立类来解决这个问题,但是在这样做之前,请停下来想想您在这里所做的是否真的是正确的。只有少数几个地方应该使用新的_任务——启动器、来自通知的开关等等。在所有这些情况下,用户启动到的对象都有一个非常独特的标识。无论您做什么,都应该保持这些语义。

以下是解决方案:

Intent mIntent1 = new Intent(this, Activity1.class);
mIntent1.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK);
Intent mIntent2 = new Intent(this, Activity2.class);
Intent[] list = new Intent[2];
list[0] = mIntent1;
list[1] = mIntent2;
startActivities(list);

让一个C扩展B,这样B可以是B1,C可以是B2,怎么样?这确实不能回答您的问题,但是如果没有人可以回答,您可以使用它。也许您可以通过
实现它。你需要B1和B2是独立的组件,这通常是独立的活动类。拥有N个活动实例不是一个好方法,无论你想用它完成什么,都可以用其他方式完成。嗯,我希望我的应用程序就是这样。我有这些B班活动的主要清单。虽然来自同一基类,但每个活动都使用自己独特的数据集执行自己独特的操作集。我需要能够在活动进行时让用户上下文在它们之间切换。