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 bagi 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 oleh pengguna. Pekerjaan ini dikecualikan dari kuota pekerjaan biasa.

Android 15 (level API 35)

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

Android 14 (level API 34)

Persyaratan berikut berlaku untuk aplikasi yang menargetkan level API 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 spesifik yang sesuai, sistem akan menampilkan SecurityException.

Android 12 (level API 31)

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

Android 11 (level API 30)

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

Android 10 (level API 29)

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

Android 9 (level API 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 level API 28 atau yang lebih tinggi mencoba membuat layanan latar depan tanpa meminta izin FOREGROUND_SERVICE, sistem akan memunculkan SecurityException.