2

我想覆盖我的应用程序中后退按钮的默认行为,以便显示特定的活动(应用程序启动时加载的活动),而不是堆栈上的前一个活动。有什么好的方法可以做到这一点?

4

4 回答 4

3

finish()所有中间活动

你也可以使用Intent.FLAG_ACTIVITY_CLEAR_TOP

@Override
public void onBackPressed()
{
Intent mIntent= new Intent(mContext, mainFirst.class)
    startActivity(mIntent);
    mIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    finish();
}
于 2012-04-26T06:03:13.050 回答
3
Intent myIntent = new Intent(CurrentActivity.this, NextActivity.class);
myIntent .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    CurrentActivity.this.startActivity(myIntent);

NextActivity 是您的主要活动

于 2012-04-26T06:06:29.810 回答
1

当您使用意图进入下一个活动时,只需在此之后调用 finish()。例如活动-1,2,3。您的流量来自 1->2->3

因此,当您将意图从 2 调用到 3 时,只需在该意图之后完成()活动 2。所以当你后按时你会回到 1。

其他选择是

@override onBackPressed 

意图活动 1。但您必须通过使用相应的标志确保您只有 1 的 1 个实例

于 2012-04-26T06:04:48.837 回答
0
@Override
public void onBackPressed()
{
    startActivity(new Intent(mContext, FirstActivity.class));
    finish();
}
于 2012-04-26T06:04:00.787 回答