Share via


BroadcastReceiver.OnReceive(Context, Intent) メソッド

定義

このメソッドは、BroadcastReceiver がインテント ブロードキャストを受信するときに呼び出されます。

[Android.Runtime.Register("onReceive", "(Landroid/content/Context;Landroid/content/Intent;)V", "GetOnReceive_Landroid_content_Context_Landroid_content_Intent_Handler")]
public abstract void OnReceive (Android.Content.Context? context, Android.Content.Intent? intent);
[<Android.Runtime.Register("onReceive", "(Landroid/content/Context;Landroid/content/Intent;)V", "GetOnReceive_Landroid_content_Context_Landroid_content_Intent_Handler")>]
abstract member OnReceive : Android.Content.Context * Android.Content.Intent -> unit

パラメーター

context
Context

受信側が実行されているコンテキスト。

intent
Intent

受信される意図。

属性

注釈

このメソッドは、BroadcastReceiver がインテント ブロードキャストを受信するときに呼び出されます。 この間、BroadcastReceiver の他のメソッドを使用して、現在の結果値を表示または変更できます。 このメソッドは、プロセスのメイン スレッド内で常に呼び出されます。ただし、 を使用してandroid.content.Context#registerReceiver(BroadcastReceiver, IntentFilter, String, android.os.Handler)別のスレッドでスケジュールするように明示的に要求した場合を除きます。 メイン スレッドで実行する場合は、実行時間の長い操作を実行しないでください (受信側がブロックされ、候補が強制終了されることを考慮する前に、システムで許可されるタイムアウトは 10 秒です)。 onReceive() の実装ではポップアップ ダイアログを起動できません。

<b>この BroadcastReceiver が < を介して起動された場合。レシーバー>タグを指定すると、この関数から戻った後、オブジェクトは有効ではなくなります。</b> これは、結果を非同期的に返す操作を実行しないことを意味します。 後続のバックグラウンド作業を実行する必要がある場合は、 を使用して android.app.job.JobSchedulerandroid.app.job.JobServiceスケジュールします。

を使用 android.content.Context#bindService(Intent, ServiceConnection, int) bindService()して既に実行され、以前にバインドされているサービスと対話する場合は、 を使用 #peekServiceできます。

アプリケーション マニフェストと アプリケーション マニフェストでandroid.content.Context#registerReceiver使用されるインテント フィルターは、><排他的であることが保証される em not</em> です。 これらは、適切な受信者を見つける方法に関するオペレーティング システムへのヒントです。 送信者は、フィルター解決をバイパスして、特定の受信者への配信を強制できます。 このため、 #onReceive(Context, Intent) onReceive() 実装は既知のアクションにのみ応答し、予期しない意図を無視する必要があります。

の Java ドキュメント android.content.BroadcastReceiver.onReceive(android.content.Context, android.content.Intent)

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

適用対象