Giả bạn có hai Hoạt động A và B. Bạn điều hướng từ A đến B. A chuyển sang nền.
B được đặt ở ngăn xếp lưng và B lấy nét. Khi bạn nhấp vào nút quay lại hoạt động B bật ra khỏi ngăn xếp trở lại. Hoạt động A được tiếp tục.
Lưu ý: Nhiều tác vụ có thể được giữ trong nền cùng một lúc. Tuy nhiên, nếu người dùng đang chạy nhiều tác vụ nền cùng lúc, hệ thống có thể bắt đầu hủy hoạt động nền để khôi phục bộ nhớ, khiến trạng thái hoạt động bị mất. Xem phần sau về trạng thái Hoạt động.
http://developer.android.com/training/basics/activity-lifecycle/starting.html. Hoạt động sau khi bị phá hủy phải được tạo lại. Hoạt động bị hủy và tái tạo khi hướng màn hình thay đổi.
http://developer.android.com/training/basics/activity-lifecycle/starting.html.
http://developer.android.com/guide/components/tasks-and-back-stack.html. Bạn nên có một cái nhìn về cách hoạt động của stack.
Trong trường hợp hoàn thành của bạn sẽ làm việc cho bạn (bằng cách nhấn nút quay lại).
Lưu ý: Hệ thống gọi onDestroy() sau khi nó đã được gọi onPause() và onStop() trong mọi tình huống ngoại trừ một: khi bạn gọi kết thúc() từ trong phương thức onCreate().
Giả sử bạn có hoạt động thứ ba C và bạn muốn chuyển đến Hoạt động 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;
}
bạn có thực sự kiểm tra kết thúc không? làm sao? đó là cách – lelloman
kết thúc() là con đường để đi. Điều đó có nghĩa là nó không giúp ích gì? Có thể bạn đã hết bộ nhớ và Android phải xây dựng lại Hoạt động của bạn? – Zielony
Tôi không nghĩ rằng có bất kỳ đảm bảo rằng hoạt động trước đó của bạn sẽ vẫn có sẵn. Bạn nên lưu trạng thái bằng cách sử dụng tùy chọn hoặc một số loại bộ nhớ trong trường hợp hoạt động đã được thu thập rác. – Davos555