假设您有两个活动 A 和 B。您从 A 导航到 B。A 转到 background 。
B 被放在后面的堆栈上,B 获得焦点。当您单击后退按钮时,活动 B 会从后退堆栈中弹出。恢复活动 A。
注意:可以同时在后台执行多个任务。但是,如果用户同时运行多个后台任务,系统可能会开始销毁后台活动以恢复内存,从而导致活动状态丢失。请参阅以下有关活动状态的部分。
http://developer.android.com/training/basics/activity-lifecycle/starting.html。活动一旦被销毁,必须重新创建。当屏幕方向改变时,Activity 被破坏并重新创建。
http://developer.android.com/training/basics/activity-lifecycle/starting.html。
http://developer.android.com/guide/components/tasks-and-back-stack.html。你应该看看后栈是如何工作的。
在您的情况下,完成应该适合您(通过按后退按钮)。
注意:系统在调用 onPause() 和 onStop() 之后在所有情况下调用 onDestroy(),但以下情况除外:当您从 onCreate() 方法中调用 finish() 时。
假设你有第三个活动 C 并且你想去 Activity A 。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
onBackPressed();
}
return super.onKeyDown(keyCode, event);
}
public void onBackPressed() {
Intent myIntent = new Intent(ActivityC.this, MainActivity.class);
myIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);// clear back stack
startActivity(myIntent);
finish();
return;
}