android启动画面控制后退按钮与onKeyDown

时间:2014-11-26 12:50:55

标签: android android-activity onkeydown android-handler

我有启动画面活动,并在3秒后开始第二个活动。这是第一个活动代码

Handler handler=new Handler();
    handler.postDelayed(new Runnable() {

        @Override
        public void run() {

                Intent in = new Intent(getApplicationContext(),
                        MainActivity.class);
                startActivity(in);

                overridePendingTransition(R.anim.trans_left_in,
                        R.anim.trans_left_out);




        }
    }, 3000);

在MainActivity活动中我写了这个方法

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.ECLAIR
            && keyCode == KeyEvent.KEYCODE_BACK
            && event.getRepeatCount() == 0) {

        onBackPressed();
    }

    return super.onKeyDown(keyCode, event);
}

我有一个问题。当我第二次活动并点击后退按钮时,我就无法在3秒后开始第二次活动。我可以编写代码再次开始第二次活动吗?

2 个答案:

答案 0 :(得分:0)

在onResume中移动开始意图代码:

@Override
protected void onResume() {
   super.onResume();
   Handler handler=new Handler();
   handler.postDelayed(new Runnable() {
     @Override
     public void run() {
        Intent in = new Intent(this,MainActivity.class);
        startActivity(in);
        overridePendingTransition(R.anim.trans_left_in,R.anim.trans_left_out);
     }
    }, 3000);
}

答案 1 :(得分:0)

您可以完成第一项活动:

finish();

然后,在第二个活动中,您可以使用此意图重新启动第一个活动:

Intent i = new Intent(SecondActivity.this, FirstActivity.class);
startActivity(i);
finish();