如何完成另一项活动的活动

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

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

Solutions Collecting From Web of "如何完成另一项活动的活动"

虽然其他方法可能有效,但对我而言最直接的方法是向其他活动发出一个意图,告诉它完成自己。 那个活动在收到这个意图后,调用finish()。

我需要相同的信息,并玩弄什么大声笑在这里我提出了这一点。

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

更改活动以符合您的需求,但是FLAG_ACTIVITY_CLEAR_TOP会从堆栈中移除其他活动。

另一种select可能是从你的通知处理程序调用清除顶部标志的活动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

如果已设置,并且正在启动的活动已在当前任务中运行,则不会启动该活动的新实例,而是closures其上的所有其他活动,并将此Intent交付给(现在开启顶端)旧活动作为一个新的意图。

我不确定最好的方法是什么,但一种方法可能是将活动A传递给一个单例,并从B中获取并完成()…