Xử lý việc dừng những ứng dụng chạy dịch vụ trên nền trước do người dùng yêu cầu

Kể từ Android 13 (cấp độ API 33), người dùng có thể hoàn tất quy trình làm việc trong ngăn thông báo để dừng một ứng dụng có dịch vụ nền trước đang chạy, bất kể phiên bản SDK mục tiêu của ứng dụng đó là gì. Tính năng này được gọi là Trình quản lý tác vụ, cho thấy danh sách các ứng dụng hiện đang chạy một dịch vụ nền trước.

Ở cuối ngăn thông báo là một nút cho biết số lượng ứng dụng hiện đang chạy trong nền. Khi bạn nhấn nút này, một hộp thoại sẽ xuất hiện, liệt kê tên của nhiều ứng dụng. Nút Dừng nằm ở bên phải của mỗi ứng dụng
Hình 1. Quy trình của Trình quản lý tác vụ trên các thiết bị chạy Android 13 trở lên.

Danh sách này có nhãn là Ứng dụng đang hoạt động. Bên cạnh mỗi ứng dụng là nút Dừng. Hình 1 minh hoạ quy trình của Trình quản lý tác vụ trên thiết bị chạy Android 13.

Khi người dùng nhấn nút Stop (Dừng) bên cạnh ứng dụng của bạn trong Trình quản lý tác vụ, thì các hành động sau sẽ xảy ra:

  • Hệ thống sẽ xoá ứng dụng của bạn khỏi bộ nhớ. Do đó, toàn bộ ứng dụng của bạn sẽ dừng lại, chứ không chỉ dịch vụ nền trước đang chạy.
  • Hệ thống sẽ xoá ngăn xếp lui hoạt động của ứng dụng.
  • Mọi nội dung nghe nhìn đang phát sẽ dừng lại.
  • Thông báo liên kết với dịch vụ nền trước sẽ bị xoá.
  • Ứng dụng của bạn vẫn còn trong nhật ký.
  • Công việc theo lịch sẽ thực thi vào thời gian đã lên lịch.
  • Chuông báo sẽ kêu vào thời gian hoặc khung giờ đã lên lịch.

Để kiểm tra xem ứng dụng của bạn có hoạt động như mong đợi trong và sau khi người dùng dừng ứng dụng hay không, hãy chạy lệnh ADB sau trong cửa sổ dòng lệnh:

adb shell cmd activity stop-app PACKAGE_NAME