1.8 奇葩,android onBackPressed结束了两个activity

奇葩,一次项目中,出现一个奇葩的事情,按返回键,android给我结束了两个activity,出现原因如下:

TestActivity 继承 自己的一个BaseActivity ,其中重写了下面方法:

@Override
    public void startActivity(Intent intent) {
        super.startActivity(intent);
        overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out);
    }

	    // Press the back button in mobile phone
	    @Override
	    public void onBackPressed() {
	        finish();
	    }

    @Override
    public void finish() {
        super.finish();
        overridePendingTransition(R.anim.push_right_in, R.anim.push_right_out);
    }

当我这个TestActivity调转到一个二维码界面

			Intent intent = new Intent(BindingActivity.this, CaptureActivity.class);
			startActivityForResult(intent, Global.SCANNIN_GREQUEST_CODE);

跳转成功后,在这个扫描二维码界面按返回键,发现TestActivity页一并退出了。

当我把onBackPressed方法注释掉后又正常了,不在结束两个activity了,据此,本人的猜测是:

startActivityForRsult是吧一个CaptureActivity进入TestActivty里运行,在CaptureActivity里按返回键,就传给了TestActivty,所以结束了两个activity



上文只是鄙人只是猜测,原理有空在深入理解。









你可能感兴趣的:(android)