Sau khi điều hướng từ A-> B bạn có 2 nhiệm vụ: Người đầu tiên chứa Một, điều thứ hai chứa B . B ở trên cùng và A thấp hơn.
Bây giờ khi điều hướng từ B-> C Android ra mắt hoạt động C vào nhiệm vụ chứa A (nó không thể khởi động nó vào nhiệm vụ chứa B vì B được định nghĩa là "singleInstance", vì vậy nó sẽ khởi động nó vào một nhiệm vụ có cùng một "taskAffinity", trong trường hợp này tác vụ chứa A). Để làm điều đó, Android mang đến nhiệm vụ chứa A ở phía trước. Bây giờ bạn có 2 nhiệm vụ: Nhiệm vụ có chứa A và C ở phía trước, và nhiệm vụ thứ hai chứa B bên dưới.
Bây giờ bạn nhấn phím BACK, kết thúc hoạt động C và quay trở lại hoạt động bên dưới trong nhiệm vụ, cụ thể là C. Bạn vẫn có 2 nhiệm vụ: Một chứa C ở phía trước và một chứa B bên dưới .
Bây giờ bạn nhấn phím BACK một lần nữa. Thao tác này kết thúc hoạt động A (và do đó hoàn thành nhiệm vụ được giữ A) và đưa nhiệm vụ trước đó vào ngăn tác vụ lên phía trước, cụ thể là nhiệm vụ chứa B.Bây giờ bạn có 1 nhiệm vụ: nhiệm vụ chứa B.
Trong của bạn kịch bản khác, sau khi điều hướng từ A-> B-> C, bạn bắt đầu với 2 nhiệm vụ: Nhiệm vụ chứa A và C ở phía trước và cái thứ hai chứa B bên dưới.
Bây giờ bạn nhấn nút HOME. Bây giờ bạn nói rằng bạn "quay lại ứng dụng bằng cách nhấn và giữ". Điều này không chính xác. Bạn không thể "quay lại ứng dụng". Bạn chỉ có thể "quay trở lại công việc". Nhưng bạn đã có 2 nhiệm vụ khác nhau: Nếu bạn làm một báo dài, bạn sẽ thấy 2 nhiệm vụ. Họ có thể có cùng biểu tượng (trừ khi bạn đã cung cấp một biểu tượng khác cho hoạt động B) để bạn có thể không thể phân biệt chúng. Nếu bạn chọn nhiệm vụ có chứa A và C, thì nhiệm vụ đó sẽ được đưa lên phía trước với hoạt động C ở trên cùng. Nếu bây giờ bạn nhấn phím BACK, hoạt động C sẽ kết thúc và hoạt động bên dưới, hoạt động A sẽ được hiển thị. Nếu bây giờ bạn nhấn phím BACK một lần nữa, hoạt động A sẽ được hoàn thành và bạn sẽ được đưa trở lại màn hình HOME. Tác vụ chứa B vẫn nằm trong danh sách các tác vụ gần đây, nhưng nó không còn trong ngăn tác vụ trong tác vụ khác của bạn bởi vì khi bạn nhấn nút HOME HOME, nó giống như quay lại số không. Bạn bắt đầu lại từ đầu. Bạn không có tác vụ đang hoạt động, vì vậy mọi tác vụ đều liên tiếp, chúng không nằm trong ngăn xếp và không có phân cấp.
Ngoài ra, trong câu hỏi của bạn, bạn sử dụng cụm từ "thoát ứng dụng". Điều này cũng không hoàn toàn chính xác. Điều duy nhất mà một nút BACK nhấn làm là kết thúc hoạt động hiện tại. Nếu hoạt động hiện tại là hoạt động duy nhất trong một nhiệm vụ, nó cũng hoàn thành nhiệm vụ đó. Tuy nhiên, nó không "thoát khỏi ứng dụng". Đặc biệt trong trường hợp của bạn, vì "ứng dụng" của bạn thực sự tồn tại trong 2 nhiệm vụ riêng biệt.
Hy vọng điều này rõ ràng.
Cảm ơn bạn rất nhiều David .. Câu trả lời của bạn giải thích khái niệm rất rõ ràng, thực sự hữu ích :) Chỉ cần thêm chi tiết hơn, tôi đã có tất cả ba hoạt động A, B và C trong cùng một ứng dụng. Trên báo chí nhà dài, tôi không thể nhìn thấy hai nhiệm vụ riêng biệt, nhưng chỉ có một nhiệm vụ. Cũng liên quan đến CÁC CẢM ỨNG KHÁC, "Nếu bây giờ bạn nhấn phím BACK một lần nữa, hoạt động A sẽ được hoàn thành và bạn sẽ được trả về màn hình HOME." ** Q: ** tại sao nó không đưa chúng ta công việc có chứa B, bởi vì nhiệm vụ chứa B phải ở bên dưới Tác vụ chứa A và C phải không? Hãy sửa tôi nếu tôi sai. – Pravy
Vui lòng đăng bản kê khai của bạn, sau đó tôi có thể giúp bạn nhiều hơn. Chỉ cần thêm nó vào câu hỏi của bạn dưới dạng chỉnh sửa. –
Xin chào, Cuối cùng, sự nhầm lẫn của bạn đã được giải quyết chưa? tại sao nó không đưa chúng ta nhiệm vụ chứa B? Tôi có cùng một sự nhầm lẫn. Nếu bạn biết, xin vui lòng cho tôi biết. Cảm ơn bạn. – CodeAlien