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 廣播接收器啟動前景服務」。