共用方式為


BroadcastReceiver.OnReceive(Context, Intent) 方法

定義

當 BroadcastReceiver 收到 Intent 廣播時,會呼叫這個方法。

[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 收到 Intent 廣播時,會呼叫這個方法。 在此期間,您可以使用 BroadcastReceiver 上的其他方法來檢視/修改目前的結果值。 除非您明確要求使用 在不同的線程上排程此方法,否則這個方法一律會在其進程的主要線程 android.content.Context#registerReceiver(BroadcastReceiver, IntentFilter, String, android.os.Handler)內呼叫。 在主線程上執行時,您絕對不應該在主線程上執行長時間執行的作業(系統會在考慮要封鎖接收者並終止候選專案之前,讓系統允許逾時 10 秒)。 您無法在 onReceive() 的實作中啟動快顯對話框。

<b>如果這個 BroadcastReceiver 是透過 a < 啟動receiver>tag,然後物件在從這個函式傳回之後不再運作。</b> 這表示您不應該執行任何以異步方式傳回結果的作業。 如果您需要執行任何後續背景工作,請使用 android.app.job.JobScheduler排程 android.app.job.JobService

如果您要與已執行且先前使用 android.content.Context#bindService(Intent, ServiceConnection, int) bindService()系結的服務互動,您可以使用 #peekService

應用程式指令清單中使用的android.content.Context#registerReceiver意圖篩選條件不<>保證為<>獨佔。 它們是操作系統關於如何尋找適當收件者的提示。 寄件者可以強制傳遞至特定收件者,略過篩選解析。 基於這個理由, #onReceive(Context, Intent) onReceive() 實作應該只回應已知動作,忽略任何可能收到的非預期意圖。

android.content.BroadcastReceiver.onReceive(android.content.Context, android.content.Intent)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於