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

本文描述了一个Android应用中出现的问题,即按下返回键时意外关闭了两个Activity。通过分析发现,该问题可能与Activity的生命周期及 onActivityResult 方法有关,并探讨了解决方案。

奇葩,一次项目中,出现一个奇葩的事情,按返回键,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



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









评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值