按下返回键时 返回到上个活动 但当前活动不销毁

首先要设置你的activityA为singleInstance。
//也可以override onBackPressed()
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
moveTaskToBack(true);
return true;
}
return super.onKeyDown(keyCode, event);
}

  singleInstance :因为它会启用一个新的栈结构,将acitvityA放置于这个新的栈结构中,并保证不再有其他Activity实例进入。

  moveTaskToBack:这个方法不会改变task中的activity中的顺序,效果基本等同于home键 相当于返回上一个栈所在的活动

由于 两个活动处于不同的栈 所以关闭时直接结束进程不能关闭activityA的活动 所以必须在activityB 中手动结束activityA:
1、首先在ActivityA中定义一个静态的全局变量
static Activity ActivityA;
2、在ActivityA中的onCreate方法中给ActivityA赋值
ActivityA = this;
3、在ActivityB中,需要结束ActivityA时调用
ActivityA a = new ActivityA();
a.ActivityA.finish();

猜你喜欢

转载自592713711.iteye.com/blog/2259938