Service.StartForeground メソッド

定義

オーバーロード

名前 説明
StartForeground(Int32, Notification)

サービスが開始されている場合 (Context.startService(Intent) を使用して実行)、このサービスをフォアグラウンドで実行し、この状態の間にユーザーに表示される継続的な通知を提供します。

StartForeground(Int32, Notification, ForegroundService)

追加の foregroundServiceType パラメーターを持つ、オーバーロードされたバージョンの startForeground(int,Notification)。

StartForeground(Int32, Notification)

サービスが開始されている場合 (Context.startService(Intent) を使用して実行)、このサービスをフォアグラウンドで実行し、この状態の間にユーザーに表示される継続的な通知を提供します。

[Android.Runtime.Register("startForeground", "(ILandroid/app/Notification;)V", "")]
public void StartForeground(int id, Android.App.Notification? notification);
[<Android.Runtime.Register("startForeground", "(ILandroid/app/Notification;)V", "")>]
member this.StartForeground : int * Android.App.Notification -> unit

パラメーター

id
Int32

int: NotificationManager.notify(int, Notification)に従ったこの通知の識別子。は 0 にすることはできません。

notification
Notification

通知: 表示される通知。

属性

注釈

サービスが開始されている場合 (Context.startService(Intent) を使用して実行)、このサービスをフォアグラウンドで実行し、この状態の間にユーザーに表示される継続的な通知を提供します。 既定では、開始されたサービスはバックグラウンドです。つまり、プロセスにはフォアグラウンド CPU スケジューリングが与えられず (そのプロセス内の何かがフォアグラウンドでない限り)、システムがメモリを解放するために強制終了する必要がある場合 (Web ブラウザーに大きなページを表示するなど)、あまり害を与えずに強制終了される可能性があります。 startForeground(int, Notification) を使用すると、サービスがバックグラウンド ミュージックの再生を実行している場合など、サービスを強制終了するとユーザーに混乱が生じ、音楽の再生が停止した場合にユーザーに通知されます。 このメソッドを呼び出しても、名前が似ている場合でも、サービスは開始状態自体に配置されないことに注意してください。 最初に startService(Intent) を呼び出して、サービスを実行し続ける必要があることをシステムに伝え、次にこのメソッドを使用して、実行を困難に保つように指示する必要があります。

API Build.VERSION_CODESを対象とするアプリ。この API を使用するには、P 以降がアクセス許可Manifest.permission.FOREGROUND_SERVICEを要求する必要があります。

SDK バージョンのBuild.VERSION_CODESで構築されたアプリ。Q 以降では、マニフェスト ファイルのサービス要素で属性 R.attr.foregroundServiceType を使用して、フォアグラウンド サービスの種類を指定できます。 属性 R.attr.foregroundServiceType の値には、複数のフラグ ORed を一緒に指定できます。

注: SDK バージョン Build.VERSION_CODES以降。S、SDK バージョン Build.VERSION_CODESを対象とするアプリ。S 以降では、バックグラウンドからフォアグラウンド サービスを開始することはできません。 詳細については、「動作の変更: Android 12 を対象とするアプリ」を参照してください。 注: SDK バージョン Build.VERSION_CODES以降。UPSIDE_DOWN_CAKE、SDK バージョンを対象とするアプリBuild.VERSION_CODES。UPSIDE_DOWN_CAKE 以降では、マニフェスト属性 R.attr.foregroundServiceType で有効なフォアグラウンド サービスの種類を指定せずにフォアグラウンド サービスを開始することはできません。 詳細については、「動作の変更: Android 14 を対象とするアプリ」を参照してください。

関連項目も参照:

スロー: ForegroundServiceStartNotAllowedException:API を対象とするアプリがBuild.VERSION_CODES場合。S 以降。バックグラウンド制限により、サービスがフォアグラウンド サービスになることが制限されます。

スロー: InvalidForegroundServiceTypeException:API を対象とするアプリがBuild.VERSION_CODES場合。UPSIDE_DOWN_CAKE以降、マニフェスト属性 R.attr.foregroundServiceType が無効な型 (つまり、ServiceInfo.FOREGROUND_SERVICE_TYPE_NONE) に設定されています。

スロー: MissingForegroundServiceTypeException:API を対象とするアプリがBuild.VERSION_CODESされている場合。UPSIDE_DOWN_CAKE以降で、マニフェスト属性 R.attr.foregroundServiceType が設定されていません。

スロー: SecurityException:API を対象とするアプリがBuild.VERSION_CODES場合。UPSIDE_DOWN_CAKE以降であり、マニフェスト属性 R.attr.foregroundServiceType で指定した型でフォアグラウンド サービスを開始するアクセス許可がありません。

android.app.Service.startForegroundの Android リファレンス。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象

StartForeground(Int32, Notification, ForegroundService)

追加の foregroundServiceType パラメーターを持つ、オーバーロードされたバージョンの startForeground(int,Notification)。

[Android.Runtime.Register("startForeground", "(ILandroid/app/Notification;I)V", "", ApiSince=29)]
public void StartForeground(int id, Android.App.Notification notification, Android.Content.PM.ForegroundService foregroundServiceType);
[<Android.Runtime.Register("startForeground", "(ILandroid/app/Notification;I)V", "", ApiSince=29)>]
member this.StartForeground : int * Android.App.Notification * Android.Content.PM.ForegroundService -> unit

パラメーター

id
Int32

int: NotificationManager.notify(int, Notification)に従ったこの通知の識別子。は 0 にすることはできません。

notification
Notification

通知: 表示される通知。 この値は null にすることはできません。

foregroundServiceType
ForegroundService

int: マニフェスト属性 R.attr.foregroundServiceType フラグのサブセット フラグである必要があります。をServiceInfo.FOREGROUND_SERVICE_TYPE_NONEすることはできません。 値は 0 または次の組み合わせのいずれかです:ServiceInfo.FOREGROUND_SERVICE_TYPE_MANIFEST ServiceInfo.FOREGROUND_SERVICE_TYPE_NONE ServiceInfo.FOREGROUND_SERVICE_TYPE_DATA_SYNC ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK ServiceInfo.FOREGROUND_SERVICE_TYPE_PHONE_CALL ServiceInfo.FOREGROUND_SERVICE_TYPE_LOCATION ServiceInfo.FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION ServiceInfo.FOREGROUND_SERVICE_TYPE_CAMERA ServiceInfo.FOREGROUND_SERVICE_TYPE_MICROPHONE ServiceInfo.FOREGROUND_SERVICE_TYPE_HEALTH ServiceInfo.FOREGROUND_SERVICE_TYPE_REMOTE_MESSAGING ServiceInfo.FOREGROUND_SERVICE_TYPE_SYSTEM_EXEMPTED ServiceInfo.FOREGROUND_SERVICE_TYPE_SHORT_SERVICE ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING ServiceInfo.FOREGROUND_SERVICE_TYPE_SPECIAL_USE

属性

注釈

追加の foregroundServiceType パラメーターを持つ、オーバーロードされたバージョンの startForeground(int,Notification)。 SDK バージョンのBuild.VERSION_CODESで構築されたアプリ。Q 以降では、マニフェスト ファイルのサービス要素で属性 R.attr.foregroundServiceType を使用して、フォアグラウンド サービスの種類を指定できます。 属性 R.attr.foregroundServiceType の値には、複数のフラグ ORed を一緒に指定できます。

foregroundServiceType パラメーターは、マニフェスト属性 R.attr.foregroundServiceType で指定されているもののサブセット フラグである必要があります。指定されていない場合は、IllegalArgumentException がスローされます。 マニフェスト属性 foregroundServiceType で指定されているすべてのフラグを使用するには、ServiceInfo.FOREGROUND_SERVICE_TYPE_MANIFESTとして foregroundServiceType パラメーターを指定します。

注: SDK バージョン Build.VERSION_CODES以降。S、SDK バージョン Build.VERSION_CODESを対象とするアプリ。S 以降では、バックグラウンドからフォアグラウンド サービスを開始することはできません。 詳細については、「動作の変更: Android 12 を対象とするアプリ」を参照してください。 注: SDK バージョン Build.VERSION_CODES以降。UPSIDE_DOWN_CAKE、SDK バージョンを対象とするアプリBuild.VERSION_CODES。UPSIDE_DOWN_CAKE 以降では、マニフェスト属性 R.attr.foregroundServiceType で有効なフォアグラウンド サービスの種類を指定せずにフォアグラウンド サービスを開始することはできません。ここでのパラメーター foregroundServiceType はServiceInfo.FOREGROUND_SERVICE_TYPE_NONEである必要があります。 詳細については、「動作の変更: Android 14 を対象とするアプリ」を参照してください。

関連項目も参照:

スロー: ForegroundServiceStartNotAllowedException:API を対象とするアプリがBuild.VERSION_CODES場合。S 以降。バックグラウンド制限により、サービスがフォアグラウンド サービスになることが制限されます。

スロー: InvalidForegroundServiceTypeException:API を対象とするアプリがBuild.VERSION_CODES場合。UPSIDE_DOWN_CAKE以降、マニフェスト属性 R.attr.foregroundServiceType または param foregroundServiceType が無効な型 (i.e.ServiceInfo.FOREGROUND_SERVICE_TYPE_NONE) に設定されています。

スロー: MissingForegroundServiceTypeException:API を対象とするアプリがBuild.VERSION_CODESされている場合。UPSIDE_DOWN_CAKE以降、マニフェスト属性 R.attr.foregroundServiceType が設定されておらず、param foregroundServiceType がServiceInfo.FOREGROUND_SERVICE_TYPE_MANIFESTに設定されています。

param foregroundServiceType がマニフェスト属性 R.attr.foregroundServiceType のサブセットでない場合は、IllegalArgumentException をスローします。

スロー: SecurityException:API を対象とするアプリがBuild.VERSION_CODES場合。UPSIDE_DOWN_CAKE以降であり、foregroundServiceType で指定された型でフォアグラウンド サービスを開始するアクセス許可がありません。 R.attr.foregroundServiceType。

android.app.Service.startForegroundの Android リファレンス。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象