【发布时间】:2011-05-09 23:50:19
【问题描述】:
我正在为我的应用程序启动多个实例而苦苦挣扎 使用相同意图的相同活动。我的主要活动是课堂类型 A 并且它对两个相同的孩子执行 startActivity() B类。所以我们推出了B1和B2。如果 B1 和 B2 都是 暂停(通过按下返回按钮并确保未调用 finish() 在他们身上,所以他们真的暂停了),A怎么能独特地带来B1 还是 B2 再次出现在前台?我确实想发起一个新的 B 活动。一世 想要唯一地将 B1 或 B2 带到前台。
所以 B1 和 B2 都是这样创建的... Intent 意图 = new Intent(context, B.class); 意图.addFlags(意图.FLAG_ACTIVITY_NEW_TASK); 开始活动(意图);
现在我想让 A 将 B1(或 B2)带到前台/前面,所以我使用 下面的代码,但是在启动时如何区分 B1 或 B2 活动?这只会将 B 的最后一个实例带到顶部 前景。
Intent 意图 = new Intent(context, B.class); 意图.addFlags(意图.FLAG_ACTIVITY_REORDER_TO_FRONT); 开始活动(意图);
我尝试保留对 B1 和 B2 的引用并做一些事情 像这样,但这也只适用于活动的最后一个实例 B班上位...
Intent 意图 = new Intent(B1context, B.class); 意图.addFlags(意图.FLAG_ACTIVITY_REORDER_TO_FRONT); B1context.startActivity(intent);
我什至试过这个,但它仍然没有得到我独特的 B1 或 B2... 意图意图 = B1.getIntent(); // 即最初的意图 开始了我 开始活动(意图); // 仍然只将最后一个 B 带到前面 位居榜首。
提前致谢!
【问题讨论】:
-
如何制作一个扩展 B 的 C,这样 B 可以是 B1,C 可以是 B2?这确实不能回答你的问题,但是如果没有人可以回答这个问题,你可以使用它
-
也许您可以通过
<activity-alias>实现它。您需要 B1 和 B2 是单独的组件,通常是单独的活动类。
标签: android android-activity android-intent