Kami melakukan perubahan berikut pada jenis layanan latar depan dengan Android 15.
Media sedang diproses
- Jenis layanan latar depan untuk dinyatakan dalam manifes di bawah
android:foregroundServiceType
mediaProcessing
- Izin untuk dideklarasikan dalam manifes Anda
FOREGROUND_SERVICE_MEDIA_PROCESSING
- Konstanta untuk diteruskan ke
startForeground()
FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING
- Prasyarat runtime
- Tidak ada
- Deskripsi
Layanan untuk melakukan operasi yang memakan waktu pada aset media, seperti mengonversi media ke format yang berbeda. Sistem ini mengizinkan layanan ini berjalan dalam waktu terbatas; dalam keadaan normal, batas waktu ini adalah 6 jam dari setiap 24 jam. (Batas ini digunakan bersama oleh semua layanan latar depan
mediaProcessing
aplikasi.)Aplikasi Anda harus menghentikan layanan pemrosesan media secara manual dalam skenario berikut:
- Saat operasi transcoding selesai atau mencapai status kegagalan, minta
layanan memanggil
Service.stopForeground()
danService.stopSelf()
untuk menghentikan layanan sepenuhnya.
- Saat operasi transcoding selesai atau mencapai status kegagalan, minta
layanan memanggil
Jika periode waktu tunggu tercapai, sistem akan memanggil metode
Service.onTimeout(int, int)
layanan. Pada saat ini, layanan memiliki beberapa detik untuk memanggilService.stopSelf()
. Jika layanan tidak memanggilService.stopSelf()
, ANR akan terjadi dengan pesan error ini: "Layanan latar depan <fgs_type> tidak berhenti dalam waktu tunggunya: <component_name>".Catatan:
Service.onTimeout(int, int)
tidak tersedia di Android 14 atau yang lebih rendah. Pada perangkat yang menjalankan versi tersebut, jika layanan pemrosesan media mencapai periode waktu tunggu, sistem akan langsung meng-cache aplikasi. Karena alasan ini, aplikasi Anda tidak boleh menunggu untuk mendapatkan notifikasi waktu tunggu. Sebagai gantinya, aplikasi harus menghentikan layanan latar depan atau mengubahnya ke layanan latar belakang sesegera mungkin.
Kamera
Aplikasi yang menargetkan Android 15 atau yang lebih tinggi tidak diizinkan meluncurkan
layanan latar depan kamera dari penerima siaran BOOT_COMPLETED
.
Untuk informasi selengkapnya, lihat
Pembatasan pada penerima siaran BOOT_COMPLETED
yang meluncurkan layanan
latar depan.
Sinkronisasi data
Aplikasi yang menargetkan Android 15 atau yang lebih tinggi tidak diizinkan meluncurkan
layanan latar depan sinkronisasi data dari penerima siaran BOOT_COMPLETED
.
Untuk informasi selengkapnya, lihat
Pembatasan pada penerima siaran BOOT_COMPLETED
yang meluncurkan layanan
latar depan.
Pemutaran media
Aplikasi yang menargetkan Android 15 atau yang lebih tinggi tidak diizinkan meluncurkan
layanan latar depan pemutaran media dari penerima siaran BOOT_COMPLETED
.
Untuk informasi selengkapnya, lihat
Pembatasan pada penerima siaran BOOT_COMPLETED
yang meluncurkan layanan
latar depan.
Proyeksi media
Aplikasi yang menargetkan Android 15 atau yang lebih tinggi tidak diizinkan meluncurkan
layanan latar depan proyeksi media dari penerima siaran BOOT_COMPLETED
.
Untuk informasi selengkapnya, lihat
Pembatasan pada penerima siaran BOOT_COMPLETED
yang meluncurkan layanan
latar depan.
Mikrofon
Aplikasi yang menargetkan Android 14 (API level 34) atau yang lebih baru tidak diizinkan untuk meluncurkan
layanan latar depan mikrofon dari penerima siaran BOOT_COMPLETED
.
Untuk informasi selengkapnya, lihat
Pembatasan pada penerima siaran BOOT_COMPLETED
yang meluncurkan layanan
latar depan.
Panggilan telepon
Aplikasi yang menargetkan Android 15 atau yang lebih tinggi tidak diizinkan meluncurkan
layanan latar depan panggilan telepon dari penerima siaran BOOT_COMPLETED
.
Untuk informasi selengkapnya, lihat
Pembatasan pada penerima siaran BOOT_COMPLETED
yang meluncurkan layanan
latar depan.