Context.StartForegroundService(Intent) メソッド

定義

#startService(Intent)に似ていますが、サービスが実行を開始すると、サービスがandroid.app.Service#startForeground(int, android.app.Notification) startForeground(int, android.app.Notification)を呼び出すという暗黙的な約束があります。

[Android.Runtime.Register("startForegroundService", "(Landroid/content/Intent;)Landroid/content/ComponentName;", "GetStartForegroundService_Landroid_content_Intent_Handler", ApiSince=26)]
public abstract Android.Content.ComponentName? StartForegroundService(Android.Content.Intent? service);
[<Android.Runtime.Register("startForegroundService", "(Landroid/content/Intent;)Landroid/content/ComponentName;", "GetStartForegroundService_Landroid_content_Intent_Handler", ApiSince=26)>]
abstract member StartForegroundService : Android.Content.Intent -> Android.Content.ComponentName

パラメーター

service
Intent

開始するサービスを識別します。 意図は完全に明示的である必要があります (コンポーネント名を指定します)。 この特定の開始呼び出しと共に引数を指定するための追加の値を Intent extras に含めることがあります。

返品

サービスが開始されている場合、または既に実行中の場合は、開始された実際のサービスの ComponentName が返されます。それ以外の場合は、サービスが存在しない場合は null が返されます。

属性

注釈

#startService(Intent)に似ていますが、サービスが実行を開始すると、サービスがandroid.app.Service#startForeground(int, android.app.Notification) startForeground(int, android.app.Notification)を呼び出すという暗黙的な約束があります。 サービスには、これを行う ANR 間隔に相当する時間が与えられます。そうしないと、システムによってプロセスが自動的にクラッシュします。その場合、SDK バージョン android.os.Build.VERSION_CODES#S 以降を実行しているデバイスで内部例外ForegroundServiceDidNotStartInTimeExceptionが logcat に記録されます。 古い Android バージョンでは、代わりに内部例外 RemoteServiceException がログに記録され、対応するメッセージが表示されます。

通常の #startService(Intent)とは異なり、このメソッドは、サービスをホストしているアプリがフォアグラウンド状態にあるかどうかに関係なく、いつでも使用できます。

<div class="caution">

<strong>Note:</strong> SDK バージョン android.os.Build.VERSION_CODES#S以降では、SDK バージョン android.os.Build.VERSION_CODES#S 以降を対象とするアプリはバックグラウンドからフォアグラウンド サービスを開始できません。 参照先

動作の変更: Android 12 を対象とするアプリ

詳細については、以下を参照してください。 </部>

Javaドキュメント。

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

適用対象