覆盖后退按钮默认活动堆栈操作

时间:2012-04-26 06:00:10

标签: android android-layout android-intent

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

4 个答案:

答案 0 :(得分:3)

finish()所有中间 Acitivities

您也可以使用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();
}

答案 1 :(得分:3)

Intent myIntent = new Intent(CurrentActivity.this, NextActivity.class);
myIntent .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    CurrentActivity.this.startActivity(myIntent);

NextActivity是您的主要成员

答案 2 :(得分:1)

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

所以当你从2到3调用一个意图时 在意图之后完成()活动2。 所以当你背压时你会回到1。

其他选择是

@override onBackPressed 

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

答案 3 :(得分:0)

@Override
public void onBackPressed()
{
    startActivity(new Intent(mContext, FirstActivity.class));
    finish();
}