处理硬键后退按钮

时间:2013-12-04 13:57:28

标签: android android-activity back-button

是否可以在按下硬键返回按钮enter image description here时返回到特定活动?而不是回到最后一个活动返回两个活动?

3 个答案:

答案 0 :(得分:0)

是可能的......您可以通过以下方法触发指定活动的Intent。

使用此方法

 @Override
public void onBackPressed() {
    // TODO Auto-generated method stub
    super.onBackPressed();
}

或者您可以使用

@Override
public boolean onKeyDown(int keyCode, KeyEvent event)  {
    if (Integer.parseInt(android.os.Build.VERSION.SDK) < 5
            && keyCode == KeyEvent.KEYCODE_BACK
            && event.getRepeatCount() == 0) {
        Log.d("CDA", "onKeyDown Called");

        onBackPressed();
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

答案 1 :(得分:0)

您可以使用startActivityForResult启动最新活动,并在完成该活动之前设置标志,并在“parent”活动中覆盖onActivityResult(int,int,Intent)方法,您可以在onActivityResult方法中完成该活动。

答案 2 :(得分:0)

1.如果您知道哪个是第一个活动,只需通过覆盖onBackPressed()来启动它。

@Override
public void onBackPressed() {
   Intent intent = new Intent(Third.this,First.class);
   startActivity(intent);
}

2.您也可以在开始第三项活动后立即致电完成()。因此,在按下后,将返回第一个活动。

Intent intent = new Intent(Second.this, Third.class);
startActivity(intent);
finish();

3.防止第二个活动被添加到历史堆栈。

Intent intent = new Intent(First.this, Second.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(intent);