1.8 奇葩,android onBackPressed结束了两个activity
16lz
2021-01-23
奇葩,一次项目中,出现一个奇葩的事情,按返回键,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开发
- android基础-界面代码
- 通過android selector改变界面状态
- Android中弹出输入法界面不影响app界面布局
- Android中要让一个程序的界面始终保持一个方向(禁止转屏)
- Android——界面布局
- 修改Android解锁界面
- Android 特殊界面效果之——透明界面
- android打开系统联系人界面