Perubahan pada layanan latar depan

Dokumentasi layanan latar depan menjelaskan perilaku layanan latar depan Android saat ini. 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 terhadap aplikasi yang tidak menargetkan versi terbaru platform Android. Dalam banyak kasus, praktik terbaik yang bersifat opsional untuk aplikasi yang menargetkan level API yang lebih rendah menjadi wajib untuk aplikasi yang menargetkan level API yang lebih tinggi.

Android 16 (level API 36)

Perubahan berikut berlaku untuk aplikasi yang berjalan di Android 16 atau yang lebih tinggi, terlepas dari level API yang ditargetkan:

  • Tugas latar belakang yang dimulai dari layanan latar depan kini harus mematuhi kuota runtime masing-masing. Hal ini mencakup tugas yang dijadwalkan langsung dengan JobScheduler, serta tugas yang dibuat oleh library lain seperti WorkManager atau DownloadManager.

    Untuk mentransfer data sebagai respons terhadap tindakan pengguna, pertimbangkan untuk menggunakan tugas transfer data yang dimulai pengguna. Tugas ini dikecualikan dari kuota tugas biasa.

Android 15 (level API 35)

Persyaratan berikut berlaku untuk aplikasi yang menargetkan API level 35 atau yang lebih tinggi:

Android 14 (API level 34)

Persyaratan berikut berlaku untuk aplikasi yang menargetkan API level 34 atau yang lebih tinggi:

  • Anda harus menyatakan 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 dan FOREGROUND_SERVICE_CAMERA. Jika aplikasi menargetkan API level 34 atau yang lebih tinggi dan tidak meminta izin khusus yang sesuai, sistem akan menampilkan SecurityException.

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 mengetahui informasi selengkapnya, dan informasi tentang pengecualian untuk aturan ini, lihat Batasan untuk memulai layanan latar depan dari latar belakang.

Android 11 (API level 30)

Persyaratan berikut berlaku untuk aplikasi yang menargetkan API level 30 atau yang lebih tinggi:

Android 10 (API level 29)

Persyaratan berikut berlaku untuk aplikasi yang menargetkan API level 29 atau 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.