Service.StartForeground メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
| 名前 | 説明 |
|---|---|
| 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 リファレンス。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。