BroadcastReceiver.OnReceive(Context, Intent) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
このメソッドは、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.JobScheduler
をandroid.app.job.JobService
スケジュールします。
を使用 android.content.Context#bindService(Intent, ServiceConnection, int) bindService()
して既に実行され、以前にバインドされているサービスと対話する場合は、 を使用 #peekService
できます。
アプリケーション マニフェストと アプリケーション マニフェストでandroid.content.Context#registerReceiver
使用されるインテント フィルターは、><排他的であることが保証される em not</em> です。 これらは、適切な受信者を見つける方法に関するオペレーティング システムへのヒントです。 送信者は、フィルター解決をバイパスして、特定の受信者への配信を強制できます。 このため、 #onReceive(Context, Intent) onReceive()
実装は既知のアクションにのみ応答し、予期しない意図を無視する必要があります。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。