Dokumentasi layanan latar depan menjelaskan perilaku saat ini dari layanan latar depan Android. Dokumentasi ini memberikan panduan tentang praktik terbaik untuk sebagian besar aplikasi, baik yang menargetkan versi Android terbaru maupun tidak.
Halaman ini menjelaskan beberapa perubahan penting terbaru pada layanan latar depan, dan implikasinya untuk aplikasi yang tidak menargetkan versi platform Android terbaru. Dalam banyak kasus, praktik terbaik yang opsional untuk aplikasi yang menargetkan API level yang lebih rendah menjadi wajib untuk aplikasi yang menargetkan API level yang lebih tinggi.
Android 9 (API level 28)
Android 9 memperkenalkan
izin FOREGROUND_SERVICE
. Aplikasi yang berjalan di
Android 9 yang menggunakan layanan latar depan harus memiliki izin tersebut.
Jika aplikasi yang menargetkan API level 28 atau yang lebih tinggi mencoba
membuat layanan latar depan tanpa meminta izin
FOREGROUND_SERVICE
, sistem akan menampilkan SecurityException
.
Android 10 (API level 29)
Persyaratan berikut berlaku untuk aplikasi yang menargetkan API level 29 atau yang lebih tinggi:
- Jika layanan latar depan aplikasi menggunakan informasi lokasi, aplikasi harus
mendeklarasikan layanan dengan jenis layanan
location
.
Android 11 (API level 30)
Persyaratan berikut berlaku untuk aplikasi yang menargetkan API level 30 atau yang lebih tinggi:
- Jika layanan latar depan aplikasi menggunakan kamera atau mikrofon, aplikasi harus
mendeklarasikan layanan dengan jenis layanan
camera
ataumicrophone
.
Android 12 (API level 31)
Persyaratan berikut berlaku untuk aplikasi yang menargetkan API level 31 atau yang lebih tinggi:
- Aplikasi tidak diizinkan untuk meluncurkan layanan latar depan saat aplikasi berada di latar belakang, dengan beberapa pengecualian tertentu. Untuk informasi selengkapnya, dan informasi tentang pengecualian untuk aturan ini, lihat Batasan untuk memulai layanan latar depan dari latar belakang.
Android 14 (level API 34)
Persyaratan berikut berlaku untuk aplikasi yang menargetkan API level 34 atau yang lebih tinggi:
- Anda harus mendeklarasikan semua layanan latar depan dengan jenis layanannya.
- Aplikasi harus meminta jenis izin yang sesuai untuk jenis pekerjaan
yang akan dilakukan layanan latar depan. Setiap jenis layanan latar depan
memiliki jenis izin yang sesuai. Misalnya, jika aplikasi meluncurkan
layanan latar depan yang menggunakan kamera, Anda harus meminta izin
FOREGROUND_SERVICE
danFOREGROUND_SERVICE_CAMERA
. Jika aplikasi menargetkan API level 34 atau yang lebih tinggi dan tidak meminta izin spesifik yang sesuai, sistem akan menampilkanSecurityException
.
Android 15 (API level 35)
Persyaratan berikut berlaku untuk aplikasi yang menargetkan API level 35 atau yang lebih tinggi:
- Ada batasan baru terkait berapa lama layanan latar depan
dataSync
dapat berjalan. Pembatasan ini dijelaskan dalam Perilaku waktu tunggu layanan latar depan. Pembatasan serupa berlaku untuk jenis layanan latar depanmediaProcessing
(baru di Android 15). - Layanan latar depan
BOOT_COMPLETED
tidak lagi diizinkan untuk meluncurkan layanan latar depan tertentu. - Aplikasi yang memiliki izin
SYSTEM_ALERT_WINDOW
hanya diizinkan untuk meluncurkan layanan latar depan dari latar belakang jika saat ini memiliki jendela overlay yang terlihat (atau jika memenuhi salah satu pengecualian dari pembatasan mulai latar belakang lainnya). Sebelumnya, pengecualian untuk aplikasi tersebut lebih luas.