Android 后退按钮无法正常工作

Android back button not working properly

当我按下 phone 上的后退按钮时,它会按预期打开暂停 activity,但它也会转到上一个 activity(我可以看到这个,因为暂停 activity 样式是 Theme.AppCompat.Dialog。我想要的只是打开暂停 activity 但在后台是当前 activity 而不是以前的 one.The 代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_timer_2);
    //...
}

//...

@Override
public void onBackPressed()
{
    super.onBackPressed();
    startActivity(new Intent(timer_2.this, timer_2_pause.class));
    finish();

}

这是因为您正在调用 finish() 来关闭当前 activity。 删除 finish() 并且它不会关闭当前 activity.

你应该像这样使用 onBackPress() :

@Override
public void onBackPressed()
{
   // super.onBackPressed();
   // finish();
    startActivity(new Intent(timer_2.this, timer_2_pause.class));


}

只用这个...

@Override
public void onBackPressed()
{
     //super.onBackPressed(); dont use this..
     finish();
     startActivity(new Intent(timer_2.this, timer_2_pause.class));


  }

试试这个:

@Override
public void onBackPressed() {
    Intent i=new Intent(timer_2.this,timer_2_pause.class);
    startActivity(i);
    finish();
    super.onBackPressed();
}

如果你想杀死之前的 activity 使用这个:

@Override
public void onBackPressed()
{
    startActivity(new Intent(timer_2.this, timer_2_pause.class));
    finish();
}

如果您想将 activity 保留在后台堆栈中,请使用:

@Override
public void onBackPressed()
{
    startActivity(new Intent(timer_2.this, timer_2_pause.class));
}