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 (API cấp 33), người dùng có thể hoàn tất quy trình công việc từ ngăn thông báo để dừng một ứng dụng có dịch vụ đang chạy trên nền trước, 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ụ trên 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 ở chế độ nền. Khi bạn nhấn vào nút này, một hộp thoại sẽ xuất hiện, trong đó liệt kê tên của các ứng dụng. Nút Dừng nằm ở bên phải của từng ứng dụng
Hình 1. Quy trình làm việc 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 Ứng dụng đang hoạt động. Bên cạnh mỗi ứng dụng là một nút Dừng. Hình 1 minh hoạ quy trình làm việc của Trình quản lý tác vụ trên một 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 Task Manager (Trình quản lý tác vụ), các thao tác 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, không chỉ dịch vụ trên 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.
  • Dừng mọi hoạt động phát nội dung nghe nhìn.
  • Thông báo liên kết với dịch vụ trên nền trước sẽ bị xoá.
  • Ứng dụng của bạn vẫn còn trong danh sách đã cài đặt.
  • Công việc đã lên 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 khoảng thời gian đã 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