好的说你使用了一个应用程序,然后你打开了一个新的活动,然后打开另一个活动,你可以使用finish();
和你的后一个活动来结束你的活动,但你怎么能回去做两个活动,一路回到第一个?我知道你可以使用:
Intent savedGameIntent = new Intent(v.getContext(), firstclass.class);
v.getContext().startActivity(savedGameIntent);
但这是最好的方法吗?
答案 0 :(得分:6)
使用标志Intent.FLAG_ACTIVITY_CLEAR_TOP。
Intent intent = new Intent(this,A.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
来自文档:
如果已设置,并且正在启动的活动已在当前任务中运行,则不会启动该活动的新实例,而是将关闭其上的所有其他活动,并将此Intent传递给(现在在最前面)作为新意图的旧活动。
如此有效,如果你有A - > B - > C,并且您打算使用该标志设置A,B和C将关闭。
答案 1 :(得分:4)
我相信这将开始一项新的活动,而不是回到原来的活动。听起来你想完成最后和中间的活动。如果使用startActivityForResult启动最后一个活动,则可以在中间活动中覆盖onActivityResult,并从那里调用finish()。