2011-02-10 36 views
8

tôi có một tập hợp các hoạt động trên ngăn xếp của tôi Nói A -> B -> C. khi tôi khởi động hoạt động có tên 'D', nó sẽ bị sa thải là hoạt động gốc của ứng dụng của tôi và tất cả các hoạt động khác (A, B, C) sẽ bị xóa khỏi ngăn xếp của tôi sau khi Activity D được khởi chạy. hãy cho tôi biết làm cách nào để làm điều nàyThực hiện một hoạt động cụ thể dưới dạng hoạt động gốc trong ngăn xếp

Trả lời

5

Nếu bạn xem qua tài liệu này http://developer.android.com/reference/android/content/Intent.html, bạn có thể thấy các cờ cố định khác nhau và cách sử dụng chúng.

Cụ thể, câu hỏi của bạn, người ta phải sử dụng FLAG_ACTIVITY_CLEAR_TASK mà sẽ xóa tất cả các nhiệm vụ hiện tại sẽ được liên kết với các hoạt động trước khi hoạt động này được bắt đầu tức là hoạt động trở thành gốc mới của một nhiệm vụ khác rỗng, và mọi hoạt động cũ đã hoàn thành.

+1

** FLAG_ACTIVITY_CLEAR_TASK ** không hoạt động của chính nó. Bạn cần đặt nó cùng với ** Intent.FLAG_ACTIVITY_NEW_TASK ** (từ tài liệu Android). – Borzh

2

hoạt động Set gốc

Intent intent = new Intent(this, DActivity.class); 

    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); 

    startActivity(intent); 
+1

nó sẽ xóa tất cả các hoạt động trước đó khỏi ngăn xếp – Munir

Các vấn đề liên quan