我們即將對 Android 15 的前景服務類型進行下列變更。
處理中的媒體項目
- 要在資訊清單中宣告的前景服務類型
android:foregroundServiceType
mediaProcessing
- 在資訊清單中宣告的權限
FOREGROUND_SERVICE_MEDIA_PROCESSING
- 要傳遞至
startForeground()
的常數 FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING
- 執行階段必要條件
- 無
- 說明
用於執行媒體資產耗時作業的服務,例如將媒體轉換成不同格式。系統允許這項服務有一定的執行時間。在正常情況下,此時間限制為每 24 小時 6 小時。(這項限制由應用程式的所有
mediaProcessing
前景服務共用)。在下列情況下,應用程式應手動停止媒體處理服務:
- 轉碼作業完成或達到失敗狀態時,讓服務呼叫
Service.stopForeground()
和Service.stopSelf()
完全停止服務。
- 轉碼作業完成或達到失敗狀態時,讓服務呼叫
如果達到逾時期限,系統會呼叫服務的
Service.onTimeout(int, int)
方法。目前,服務有幾秒鐘可以呼叫Service.stopSelf()
。如果服務未呼叫Service.stopSelf()
,將發生 ANR 情形,並顯示以下錯誤訊息:「<fgs_type> 的前景服務並未在逾時期間停止:<component_name>」。注意:
Service.onTimeout(int, int)
不適用於 Android 14 以下版本。在搭載這些版本的裝置上,如果媒體處理服務達到逾時期限,系統就會立即快取應用程式。因此,應用程式不應等到收到逾時通知。而是應盡快終止前景服務或將其變更為背景服務。
相機
如果應用程式指定 Android 15 以上版本,則不得透過 BOOT_COMPLETED
廣播接收器啟動相機前景服務。詳情請參閱「啟動前景服務的 BOOT_COMPLETED
廣播接收器相關限制」。
同步處理資料
如果應用程式指定 Android 15 以上版本為目標,就無法透過 BOOT_COMPLETED
廣播接收器啟動資料同步處理前景服務。詳情請參閱「啟動前景服務的 BOOT_COMPLETED
廣播接收器相關限制」。
媒體播放
如果應用程式指定 Android 15 以上版本,則不得透過 BOOT_COMPLETED
廣播接收器啟動媒體播放前景服務。詳情請參閱「啟動前景服務的 BOOT_COMPLETED
廣播接收器相關限制」。
媒體投影
如果應用程式指定 Android 15 以上版本,則不得透過 BOOT_COMPLETED
廣播接收器啟動媒體投影前景服務。詳情請參閱「啟動前景服務的 BOOT_COMPLETED
廣播接收器相關限制」。
麥克風
如果應用程式指定 Android 14 (API 級別 34) 以上版本,則無法透過 BOOT_COMPLETED
廣播接收器啟動麥克風前景服務。詳情請參閱「啟動前景服務的 BOOT_COMPLETED
廣播接收器相關限制」。
語音通話
如果應用程式指定 Android 15 以上版本,則不得透過 BOOT_COMPLETED
廣播接收器啟動來電前景服務。詳情請參閱「啟動前景服務的 BOOT_COMPLETED
廣播接收器相關限制」。