Android 13 (API level 33) memungkinkan pengguna menghentikan layanan latar depan dari panel samping notifikasi, terlepas dari versi SDK target. Kemampuan baru ini, yang disebut Pengelola Tugas Layanan Latar Depan (FGS), menampilkan daftar aplikasi yang saat ini menjalankan layanan latar depan. Daftar ini diberi label Aplikasi aktif. Di samping setiap aplikasi terdapat tombol Berhenti. Gambar 1 mengilustrasikan alur kerja Pengelola Tugas FGS pada perangkat yang menjalankan Android 13:
Tindakan pengguna menghentikan seluruh aplikasi Anda
Saat pengguna menekan tombol Berhenti di samping aplikasi Anda di Pengelola Tugas FGS, seluruh aplikasi Anda akan berhenti, bukan hanya layanan latar depan yang sedang berjalan.
Membandingkan perilaku dengan tindakan pengguna "geser ke atas" dan "paksa berhenti"
Lihat tabel berikut untuk melihat perbandingan antara Pengelola Tugas FGS dengan affordance yang ada: "geser ke atas" dari layar Terbaru dan "paksa berhenti" aplikasi yang berperilaku tidak semestinya.
Pengelola Tugas FGS | Geser ke atas | Paksa berhenti | |
---|---|---|---|
Segera menghapus aplikasi dari memori | ✔ | ✔ | |
Pemutaran media dihentikan | ✔ | ✔ | |
FGS dihentikan / Notifikasi terkait dihapus | ✔ | ✔ | |
Menghapus data sebelumnya dari aktivitas | ✔ | ✔ | ✔ |
Menghapus aplikasi dari histori | ✔ | ✔ | |
Tugas terjadwal dibatalkan | ✔ | ||
Alarm dibatalkan | ✔ |
Tidak ada callback yang dikirim saat pengguna menghentikan aplikasi dari Pengelola Tugas FGS
Sistem tidak akan mengirimkan callback ke aplikasi setelah pengguna menekan
tombol Berhenti. Saat aplikasi mulai mencadangkan, sebaiknya periksa
reason baru
REASON_USER_REQUESTED
yang merupakan bagian dari API ApplicationExitInfo
yang sudah ada.
Perintah sistem yang terkait dengan layanan latar depan yang berjalan lama
Jika sistem mendeteksi bahwa aplikasi Anda menjalankan layanan latar depan dalam jangka waktu lama—setidaknya 20 jam dalam periode 24 jam—sistem akan mengirim notifikasi kepada pengguna, mengundang mereka untuk berinteraksi dengan Pengelola Tugas FGS.
Pelajari notifikasi sistem baru lebih lanjut yang memberi tahu pengguna tentang layanan latar depan yang berjalan lama.
Pengecualian
Sistem ini menyediakan beberapa tingkat pengecualian untuk jenis aplikasi tertentu, yang dijelaskan di bagian berikut.
Pengecualian berlaku per aplikasi, bukan per proses. Jika sistem mengecualikan satu proses dalam sebuah aplikasi, semua proses lain dalam aplikasi tersebut juga akan dikecualikan.
Pengecualian agar tidak muncul sama sekali di Pengelola Tugas FGS
Aplikasi berikut dapat menjalankan layanan latar depan dan tidak muncul sama sekali di pengelola tugas:
- Aplikasi tingkat sistem
- Aplikasi keselamatan; yaitu, aplikasi yang memiliki
peran
ROLE_EMERGENCY
- Perangkat yang menggunakan mode demo
Pengecualian agar tidak dapat dihentikan oleh pengguna
Saat jenis aplikasi berikut menjalankan layanan latar depan, aplikasi tersebut akan muncul di Pengelola Tugas FGS, tetapi tidak ada tombol Berhenti di samping nama aplikasi yang dapat ditekan pengguna:
- Aplikasi Pemilik perangkat
- Aplikasi Pemilik profil
- Aplikasi persisten
- Aplikasi yang memiliki
peran
ROLE_DIALER
Pengujian
Untuk menguji apakah aplikasi Anda berperilaku seperti yang diharapkan selama dan setelah pengguna menghentikan aplikasi, jalankan perintah ADB berikut di jendela terminal:
adb shell cmd activity stop-app PACKAGE_NAME