Perubahan pada jenis layanan latar depan untuk Android 15
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Kami melakukan perubahan berikut pada jenis layanan latar depan dengan Android
15.
- Jenis layanan latar depan yang akan dideklarasikan dalam manifes di bagian
android:foregroundServiceType
mediaProcessing
- Izin untuk dideklarasikan dalam manifes
FOREGROUND_SERVICE_MEDIA_PROCESSING
- Konstanta yang akan 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 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:
Jika periode waktu tunggu tercapai, sistem akan memanggil metode
Service.onTimeout(int, int)
layanan. Pada saat
ini, layanan memiliki waktu beberapa
detik untuk memanggil Service.stopSelf()
. Jika layanan tidak memanggil
Service.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.
Oleh karena itu, aplikasi Anda tidak boleh menunggu untuk mendapatkan notifikasi waktu tunggu.
Sebagai gantinya, aplikasi harus menghentikan layanan latar depan atau mengubahnya menjadi
layanan latar belakang segera setelah sesuai.
Kamera
Aplikasi yang menargetkan Android 15 atau yang lebih tinggi tidak diizinkan untuk meluncurkan
layanan latar depan kamera dari penerima siaran BOOT_COMPLETED
.
Untuk mengetahui 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 untuk meluncurkan
layanan latar depan sinkronisasi data dari penerima siaran BOOT_COMPLETED
.
Untuk mengetahui informasi selengkapnya, lihat
Pembatasan pada penerima siaran BOOT_COMPLETED
yang meluncurkan layanan
latar depan.
Aplikasi yang menargetkan Android 15 atau yang lebih tinggi tidak diizinkan untuk meluncurkan
layanan latar depan pemutaran media dari penerima siaran BOOT_COMPLETED
.
Untuk mengetahui informasi selengkapnya, lihat
Pembatasan pada penerima siaran BOOT_COMPLETED
yang meluncurkan layanan
latar depan.
Aplikasi yang menargetkan Android 15 atau yang lebih tinggi tidak diizinkan untuk meluncurkan
layanan latar depan proyeksi media dari penerima siaran BOOT_COMPLETED
.
Untuk mengetahui 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 tinggi tidak diizinkan untuk meluncurkan
layanan latar depan mikrofon dari penerima siaran BOOT_COMPLETED
.
Untuk mengetahui 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 untuk meluncurkan
layanan latar depan panggilan telepon dari penerima siaran BOOT_COMPLETED
.
Untuk mengetahui informasi selengkapnya, lihat
Pembatasan pada penerima siaran BOOT_COMPLETED
yang meluncurkan layanan
latar depan.
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-27 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-07-27 UTC."],[],[],null,["# Changes to foreground service types for Android 15\n\nWe are making the following changes to foreground service types with Android\n15.\n\n### Media processing\n\nForeground service type to declare in manifest under\n`android:foregroundServiceType`\n: `mediaProcessing`\n\nPermission to declare in your manifest\n: `FOREGROUND_SERVICE_MEDIA_PROCESSING`\n\nConstant to pass to `startForeground()`\n: `FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING`\n\nRuntime prerequisites\n: None\n\nDescription\n\n: Service for performing time-consuming operations on media assets, like\n converting media to different formats. The system allows this service a limited\n time to run; under normal circumstances, this time limit would be 6 hours out of\n every 24. (This limit is shared by all of an app's `mediaProcessing` foreground\n services.)\n\n: Your app should manually stop the media processing service in the following\n scenario:\n\n - When the transcoding operation finishes or reaches a failure state, have the service call [`Service.stopForeground()`](/reference/android/app/Service#stopForeground(int)) and [`Service.stopSelf()`](/reference/android/app/Service#stopSelf()) to stop the service completely.\n\n: If the timeout period is reached, the system calls the service's\n [`Service.onTimeout(int, int)`](/reference/android/app/Service#onTimeout(int,%20int)) method. At this\n time, the service has a few\n seconds to call [`Service.stopSelf()`](/reference/android/app/Service#stopSelf()). If the service does not call\n `Service.stopSelf()`, an ANR will occur with this error message: \"A\n foreground service of *\\\u003cfgs_type\\\u003e* did not stop within its\n timeout: *\\\u003ccomponent_name\\\u003e*\".\n\n **Note** : `Service.onTimeout(int, int)` is not available on Android 14\n or lower. On devices running those versions, if a media processing\n service reaches the timeout period, the system immediately caches the app.\n For this reason, your app shouldn't wait to get a timeout notification.\n Instead, it should terminate the foreground service or change it to a\n background service as soon as appropriate.\n\n### Camera\n\nApps that target Android 15 or higher are not allowed to launch a\ncamera foreground service from a `BOOT_COMPLETED` broadcast receiver.\nFor more information, see\n[Restrictions on `BOOT_COMPLETED` broadcast receivers launching foreground\nservices](/about/versions/15/behavior-changes-15#fgs-boot-completed).\n\n### Data sync\n\nApps that target Android 15 or higher are not allowed to launch a\ndata sync foreground service from a `BOOT_COMPLETED` broadcast receiver.\nFor more information, see\n[Restrictions on `BOOT_COMPLETED` broadcast receivers launching foreground\nservices](/about/versions/15/behavior-changes-15#fgs-boot-completed).\n\n### Media playback\n\nApps that target Android 15 or higher are not allowed to launch a\nmedia playback foreground service from a `BOOT_COMPLETED` broadcast receiver.\nFor more information, see\n[Restrictions on `BOOT_COMPLETED` broadcast receivers launching foreground\nservices](/about/versions/15/behavior-changes-15#fgs-boot-completed).\n\n### Media projection\n\nApps that target Android 15 or higher are not allowed to launch a\nmedia projection foreground service from a `BOOT_COMPLETED` broadcast receiver.\nFor more information, see\n[Restrictions on `BOOT_COMPLETED` broadcast receivers launching foreground\nservices](/about/versions/15/behavior-changes-15#fgs-boot-completed).\n\n### Microphone\n\nApps that target Android 14 (API level 34) or higher are not allowed to launch a\nmicrophone foreground service from a `BOOT_COMPLETED` broadcast receiver.\nFor more information, see\n[Restrictions on `BOOT_COMPLETED` broadcast receivers launching foreground\nservices](/about/versions/15/behavior-changes-15#fgs-boot-completed).\n\n### Phone call\n\nApps that target Android 15 or higher are not allowed to launch a\nphone call foreground service from a `BOOT_COMPLETED` broadcast receiver.\nFor more information, see\n[Restrictions on `BOOT_COMPLETED` broadcast receivers launching foreground\nservices](/about/versions/15/behavior-changes-15#fgs-boot-completed)."]]