ContextWrapper.StartService(Intent) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
特定のアプリケーション サービスを開始することを要求します。
[Android.Runtime.Register("startService", "(Landroid/content/Intent;)Landroid/content/ComponentName;", "GetStartService_Landroid_content_Intent_Handler")]
public override Android.Content.ComponentName? StartService(Android.Content.Intent? service);
[<Android.Runtime.Register("startService", "(Landroid/content/Intent;)Landroid/content/ComponentName;", "GetStartService_Landroid_content_Intent_Handler")>]
override this.StartService : Android.Content.Intent -> Android.Content.ComponentName
パラメーター
- service
- Intent
開始するサービスを識別します。 意図は完全に明示的であるか (コンポーネント名を指定する)、またはターゲットとする特定のパッケージ名を指定する必要があります。 この特定の開始呼び出しと共に引数を指定するための追加の値を Intent extras に含めることがあります。
返品
特定のアプリケーション サービスを開始することを要求します。 インテントには、開始する特定のサービス実装の完全なクラス名、またはターゲットとなる特定のパッケージ名が含まれている必要があります。 意図が指定されていない場合は、これに関する警告がログに記録されます。 この場合、複数の一致するサービスのいずれかを使用できます。 このサービスがまだ実行されていない場合は、インスタンス化されて開始されます (必要に応じてプロセスを作成します)。実行中の場合は、実行中のままです。 このメソッドを呼び出すたびに、ターゲット サービスの Service.onStartCommand(Intent, int, int) メソッドへの対応する呼び出しが、ここで指定された意図で行われます。 これにより、インターフェイスにバインドして呼び出すことなく、サービスにジョブを送信する便利な方法が提供されます。 startService() を使用すると、bindService(Intent, BindServiceFlags, Executor, ServiceConnection) によって管理される既定のサービス有効期間がオーバーライドされます。クライアントが接続されているかどうかに関係なく、stopService(Intent) が呼び出されるまでサービスを実行し続ける必要があります。 startService() の呼び出しは入れ子にならないことに注意してください。startService() を何回呼び出しても、stopService(Intent) を 1 回呼び出すと停止します。 システムは、可能な限りサービスを実行し続けようとします。 停止する必要があるのは、現在のフォアグラウンド アプリケーションが非常に多くのリソースを使用しているため、サービスを強制終了する必要がある場合だけです。 サービスのプロセスでエラーが発生した場合は、自動的に再起動されます。 指定されたサービスを開始するアクセス許可がない場合、この関数は SecurityException をスローします。 注: startService() を呼び出すたびに、意図の処理を取り巻くサービス ライフサイクルを管理するためにシステムによって大幅な作業が行われ、CPU 時間が数ミリ秒かかる場合があります。 このコストのため、startService() は、サービスへの頻繁な意図の配信には使用しないでください。また、重要な作業をスケジュールする場合にのみ使用してください。 高頻度の呼び出しにはバインドされたサービスを使用します。 SDK バージョン Build.VERSION_CODES以降。O、SDK バージョン Build.VERSION_CODESを対象とするアプリ。O 以降では、バックグラウンドからバックグラウンド サービスを開始することはできません。 詳細については、「バックグラウンド実行の制限」を参照してください。 注: SDK バージョン Build.VERSION_CODES以降。S、SDK バージョン Build.VERSION_CODESを対象とするアプリ。S 以降では、バックグラウンドからフォアグラウンド サービスを開始することはできません。 詳細については、「動作の変更: Android 12 を対象とするアプリ」を参照してください。 Parameters service Intent : 開始するサービスを識別します。 意図は完全に明示的である必要があります (コンポーネント名を指定します)。 この特定の開始呼び出しと共に引数を指定するための追加の値を Intent extras に含めることがあります。 ComponentName を返します。この値は null の場合があります。
- 属性
注釈
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。