假设:我有两个类MainActivity和SecondActivity将某个活动带到前面
首先,我的应用程序以MainActivity的一个实例开始。在MainActivity中,有几个按钮会在单击时启动SecondActivity。每次启动一个SecondActivty,我都会通过putExtra函数将一个diffirent参数添加到该SecondActivity中,因此每个SecondActivity都会显示每个不同的内容。
而且我用这个代码SecondActivity:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
moveTaskToBack(true);
return true;
}
return super.onKeyDown(keyCode, event);
}
所以每次后退按钮被按下的SecondActivity,也不会被破坏。
现在,例如,我有这样的场景:
MainActivity == click_a_button ==> SencondActivity(INSTANCE1) == press_back_button ==> MainActivity == click_another_button ==> SecondActivity(INSTANCE2)== press_back_button ==> MainActivity (*)
停止在步骤(*):从这里(在MainActivity中),用户按下启动的按钮instance1,我的问题是如何使SecondActivity(instance1)到达前面?
P/S:我读了约Intent.FLAG_ACTIVITY_REORDER_TO_FRONT
,但不知道如何在我的情况下使用它。
我想如果你按后退按钮上的活动实例,它会由SO被破坏,你将不能够带来正面的INSTANCE1 – digulino
我有行'moveTaskToBack(真);'在我的SecondActivity中,所以它不会被破坏 – Leo
我觉得你很困惑。 'moveTaskToBack()'不会改变任务内活动的顺序。似乎你正在经历很多麻烦才能避开标准行为。当用户使用“返回”按钮返回MainActivity时,为什么不让SecondActivity完成(并销毁),并让用户选择下一件事情时创建一个新的SecondActivity实例。你的方法背后的推理是什么? –