Android 15 的前景服務類型變更

我們即將對 Android 15 的前景服務類型進行下列變更。

處理中的媒體項目

要在資訊清單中宣告的前景服務類型
android:foregroundServiceType
mediaProcessing
在資訊清單中宣告的權限
FOREGROUND_SERVICE_MEDIA_PROCESSING
要傳遞至 startForeground() 的常數
FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING
執行階段必要條件
說明

用於執行媒體資產耗時作業的服務,例如將媒體轉換成不同格式。系統允許這項服務有一定的執行時間。在正常情況下,此時間限制為每 24 小時 6 小時。(這項限制由應用程式的所有 mediaProcessing 前景服務共用)。

在下列情況下,應用程式應手動停止媒體處理服務:

如果達到逾時期限,系統會呼叫服務的 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 廣播接收器相關限制」。