如何完成其​​他活动的活动

时间:2011-11-04 17:15:42

标签: android android-activity task

如果活动A与任务T1相关且活动B与任务T2相关,我如何从活动B完成活动A?

我需要这个,因为我的应用程序可以从它的快捷方式或通过通知开始。

4 个答案:

答案 0 :(得分:3)

虽然其他方法可能有效,但对我来说最直接的方法是向其他活动发送意图,告诉它完成自己。收到该意图后,该活动会调用finish()。

答案 1 :(得分:2)

我需要相同的信息并玩弄你在这里所说的内容我想出了这个。

 Intent intent = new Intent(MainActivity.this,HighScoresActivity.class);
                        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
                        startActivity(intent);

更改活动以满足您的需求,但FLAG_ACTIVITY_CLEAR_TOP会从堆栈中删除其他活动。

答案 2 :(得分:1)

另一种选择可能是使用通知处理程序中的clear top标记调用Activity B.

Intent intent = new Intent(context, HomeActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);       
context.startActivity(intent);

http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_TOP

如果已设置,并且正在启动的活动已在当前任务中运行,则不会启动该活动的新实例,而是将关闭其上的所有其他活动,并将此Intent传递给(现在在最前面)作为新意图的旧活动。

答案 3 :(得分:0)

我不确定什么是最好的方法,但一种方法可能是将活动A传递给单身并从B获取并在其上执行finish()......