在應用程式的資訊清單中,使用 <service> 元素宣告應用程式的每項前景服務。針對每項服務,使用android:foregroundServiceType 屬性聲明服務執行的工作類型。
此外,請要求前景服務所需的任何權限。
版本相容性
宣告前景服務和要求權限的規定,會因應用程式指定的 API 級別而異。本頁說明指定 API 級別 34 以上版本的應用程式須符合哪些規定。如要瞭解舊版平台的前景服務異動,請參閱「前景服務異動」。
在應用程式資訊清單中宣告前景服務
下列程式碼說明如何宣告媒體播放前景服務。你可能會使用這類服務播放音樂。
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ...>
  <application ...>
    <service
        android:name=".MyMediaPlaybackService"
        android:foregroundServiceType="mediaPlayback"
        android:exported="false">
    </service>
  </application>
</manifest>
程式碼重點
- 在本範例中,服務只有一種型別,即 - media。如果服務適用於多種型別,請使用- |運算子分隔。舉例來說,如果您的服務使用攝影機和麥克風,請按照下列方式聲明:- android:foregroundServiceType="camera|microphone"
- 視應用程式指定的 API 級別而定,您可能必須在應用程式資訊清單中聲明前景服務。如要瞭解特定 API 級別的規定,請參閱「前景服務異動」。 - 如果您嘗試建立前景服務,但未在資訊清單中宣告其類型,系統會在呼叫 - startForeground()時擲回- MissingForegroundServiceTypeException。- 即使並非必要,最佳做法還是聲明所有前景服務,並提供服務類型。 
要求前景服務權限
下列程式碼說明如何為使用相機的前景服務要求權限。
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ...>
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_CAMERA"/>
    <application ...>
        ...
    </application>
</manifest>
程式碼重點
- 這段程式碼採用最佳做法,適用於指定 API 級別 34 以上版本的應用程式。
