ContextWrapper.RegisterReceiver 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | Description |
|---|---|
| RegisterReceiver(BroadcastReceiver, IntentFilter, String, Handler, ActivityFlags) |
已淘汰.
註冊以接收意圖廣播,以便在排程器情境下執行。 更多資訊請參見 registerReceiver(BroadcastReceiver,IntentFilter,整數)與 registerReceiver(BroadcastReceiver,IntentFilter,String,Handler)。 欲了解更多意圖廣播資訊,請參閱 BroadcastReceiver。 截至Build.VERSION_CODES年。UPSIDE_DOWN_CAKE ,系統可在應用程式處於快取狀態時,將上下文註冊的廣播放入佇列。 當應用程式離開快取狀態,例如回到前景時,系統會傳送所有排隊的廣播。 某些廣播的多個實例可能會合併成一個廣播。 截至Build.VERSION_CODES年。ICE_CREAM_SANDWICH,使用此方法註冊的接收器會正確遵守廣播意圖所指定的 Intent.setPackage(字串)。 在此之前,這份郵件會被忽略,並送達所有匹配的註冊收件人。 使用這些資料時要小心。 參數接收器 BroadcastReceiver:此值可能為空值。 |
| RegisterReceiver(BroadcastReceiver, IntentFilter, String, Handler) |
註冊以接收意圖廣播,並在 var<排程器>/var< 的情境>下執行。 |
| RegisterReceiver(BroadcastReceiver, IntentFilter) |
註冊一個廣播接收器(BroadcastReceiver)以便在主活動執行緒中執行。 |
| RegisterReceiver(BroadcastReceiver, IntentFilter, ActivityFlags) |
已淘汰.
註冊以接收意圖廣播,接收端可選擇性地暴露給即時應用程式。 更多資訊請參閱 registerReceiver(BroadcastReceiver, IntentFilter)。 預設情況下,即時應用程式無法與其他應用程式中的接收器互動,這讓你可以公開一個接收器,讓即時應用程式能互動。 欲了解更多意圖廣播資訊,請參閱 BroadcastReceiver。 截至Build.VERSION_CODES年。UPSIDE_DOWN_CAKE ,系統可在應用程式處於快取狀態時,將上下文註冊的廣播放入佇列。 當應用程式離開快取狀態,例如回到前景時,系統會傳送所有排隊的廣播。 某些廣播的多個實例可能會合併成一個廣播。 截至Build.VERSION_CODES年。ICE_CREAM_SANDWICH,使用此方法註冊的接收器會正確遵守廣播意圖所指定的 Intent.setPackage(字串)。 在此之前,這份郵件會被忽略,並送達所有匹配的註冊收件人。 使用這些資料時要小心。 參數接收器 BroadcastReceiver:此值可能為空值。 |
RegisterReceiver(BroadcastReceiver, IntentFilter, String, Handler, ActivityFlags)
警告
This method has an incorrect enumeration type. Use the overload that takes ReceiverFlags instead.
註冊以接收意圖廣播,以便在排程器情境下執行。 更多資訊請參見 registerReceiver(BroadcastReceiver,IntentFilter,整數)與 registerReceiver(BroadcastReceiver,IntentFilter,String,Handler)。 欲了解更多意圖廣播資訊,請參閱 BroadcastReceiver。 截至Build.VERSION_CODES年。UPSIDE_DOWN_CAKE ,系統可在應用程式處於快取狀態時,將上下文註冊的廣播放入佇列。 當應用程式離開快取狀態,例如回到前景時,系統會傳送所有排隊的廣播。 某些廣播的多個實例可能會合併成一個廣播。 截至Build.VERSION_CODES年。ICE_CREAM_SANDWICH,使用此方法註冊的接收器會正確遵守廣播意圖所指定的 Intent.setPackage(字串)。 在此之前,這份郵件會被忽略,並送達所有匹配的註冊收件人。 使用這些資料時要小心。 參數接收器 BroadcastReceiver:此值可能為空值。
[Android.Runtime.Register("registerReceiver", "(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;I)Landroid/content/Intent;", "GetRegisterReceiver_Landroid_content_BroadcastReceiver_Landroid_content_IntentFilter_Ljava_lang_String_Landroid_os_Handler_IHandler", ApiSince=26)]
[System.Obsolete("This method has an incorrect enumeration type. Use the overload that takes ReceiverFlags instead.")]
public override Android.Content.Intent? RegisterReceiver(Android.Content.BroadcastReceiver? receiver, Android.Content.IntentFilter? filter, string? broadcastPermission, Android.OS.Handler? scheduler, Android.Content.ActivityFlags flags);
[<Android.Runtime.Register("registerReceiver", "(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;I)Landroid/content/Intent;", "GetRegisterReceiver_Landroid_content_BroadcastReceiver_Landroid_content_IntentFilter_Ljava_lang_String_Landroid_os_Handler_IHandler", ApiSince=26)>]
[<System.Obsolete("This method has an incorrect enumeration type. Use the overload that takes ReceiverFlags instead.")>]
override this.RegisterReceiver : Android.Content.BroadcastReceiver * Android.Content.IntentFilter * string * Android.OS.Handler * Android.Content.ActivityFlags -> Android.Content.Intent
參數
- receiver
- BroadcastReceiver
廣播接收器要註冊。
- filter
- IntentFilter
意圖過濾器,負責選擇接收廣播。
- broadcastPermission
- String
廣播業者必須持有的權限名稱,才能向此接收者發送意圖。 若為無效,則無需授權。
- scheduler
- Handler
接球員回撥的處理者。
- flags
- ActivityFlags
控制這次行動的旗幟。
傳回
第一個固定意圖找到的 與濾波器 相符,若沒有則為 null。
- 屬性
備註
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
適用於
RegisterReceiver(BroadcastReceiver, IntentFilter, String, Handler)
註冊以接收意圖廣播,並在 var<排程器>/var< 的情境>下執行。
[Android.Runtime.Register("registerReceiver", "(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;", "GetRegisterReceiver_Landroid_content_BroadcastReceiver_Landroid_content_IntentFilter_Ljava_lang_String_Landroid_os_Handler_Handler")]
public override Android.Content.Intent? RegisterReceiver(Android.Content.BroadcastReceiver? receiver, Android.Content.IntentFilter? filter, string? broadcastPermission, Android.OS.Handler? scheduler);
[<Android.Runtime.Register("registerReceiver", "(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;", "GetRegisterReceiver_Landroid_content_BroadcastReceiver_Landroid_content_IntentFilter_Ljava_lang_String_Landroid_os_Handler_Handler")>]
override this.RegisterReceiver : Android.Content.BroadcastReceiver * Android.Content.IntentFilter * string * Android.OS.Handler -> Android.Content.Intent
參數
- receiver
- BroadcastReceiver
BroadcastReceiver 負責處理廣播。
- filter
- IntentFilter
選擇接收的意圖廣播。
- broadcastPermission
- String
廣播業者必須持有的權限名稱,才能向此接收者發送意圖。 若為無效,則無需授權。
- scheduler
- Handler
處理器識別將接收意圖的執行緒。 若為空執行緒,則會使用程序的主執行緒。
傳回
第一個固定意圖找到的 與濾波器 相符,若沒有則為 null。
- 屬性
備註
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
適用於
RegisterReceiver(BroadcastReceiver, IntentFilter)
註冊一個廣播接收器(BroadcastReceiver)以便在主活動執行緒中執行。
[Android.Runtime.Register("registerReceiver", "(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;", "GetRegisterReceiver_Landroid_content_BroadcastReceiver_Landroid_content_IntentFilter_Handler")]
public override Android.Content.Intent? RegisterReceiver(Android.Content.BroadcastReceiver? receiver, Android.Content.IntentFilter? filter);
[<Android.Runtime.Register("registerReceiver", "(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;", "GetRegisterReceiver_Landroid_content_BroadcastReceiver_Landroid_content_IntentFilter_Handler")>]
override this.RegisterReceiver : Android.Content.BroadcastReceiver * Android.Content.IntentFilter -> Android.Content.Intent
參數
- receiver
- BroadcastReceiver
BroadcastReceiver 負責處理廣播。
- filter
- IntentFilter
選擇接收的意圖廣播。
傳回
註冊一個廣播接收器(BroadcastReceiver)以便在主活動執行緒中執行。 接收端會以符合濾波器的廣播意圖在主應用程式執行緒中被呼叫。 系統可能會廣播「黏著」的意圖——這些意圖會在廣播結束後保留,並送往後續的註冊者。 如果你的 IntentFilter 符合這些黏著意圖之一,該 Intent 會由這個函式回傳,並像剛廣播一樣傳送給你的接收器。 可能存在多個與濾波器相符的黏性意圖,此時每個意圖都會被傳送給接收者。 在這種情況下,函數只能直接回傳其中一種;系統會隨意決定哪些回傳。 如果你知道你要註冊的意圖是黏著的,你可以為你的接收者提供空。 此時未註冊接收器——函式僅回傳與過濾器相符的黏性意圖。 多場比賽的情況,適用上述相同的規則。 欲了解更多意圖廣播資訊,請參閱 BroadcastReceiver。 截至Build.VERSION_CODES年。UPSIDE_DOWN_CAKE ,系統可在應用程式處於快取狀態時,將上下文註冊的廣播放入佇列。 當應用程式離開快取狀態,例如回到前景時,系統會傳送所有排隊的廣播。 某些廣播的多個實例可能會合併成一個廣播。 截至Build.VERSION_CODES年。ICE_CREAM_SANDWICH,使用此方法註冊的接收器會正確遵守廣播意圖所指定的 Intent.setPackage(字串)。 在此之前,這份郵件會被忽略,並送達所有匹配的註冊收件人。 使用這些資料時要小心。 針對Build.VERSION_CODES的應用程式。UPSIDE_DOWN_CAKE ,如果接收端未被系統廣播註冊,必須指定 RECEIVER_EXPORTED 或 RECEIVER_NOT_EXPORTED,否則會拋出安全例外。 請參見 registerReceiver(BroadcastReceiver, IntentFilter, int)來註冊帶有旗標的接收器。 注意:此方法無法從廣播接收器元件呼叫;也就是說,來自應用程式清單中宣告的廣播接收器。 然而,從另一個已在執行時註冊為 registerReceiver(BroadcastReceiver, IntentFilter) 的 BroadcastReceiver 呼叫此方法是可以的,因為該註冊 BroadcastReceiver 的存續期與註冊它的物件綁定。 參數接收器 BroadcastReceiver:此值可能為空值。 filter IntentFilter:選擇要接收的意圖廣播。 回傳意圖 第一個發現與濾波器相符的黏性意圖,若沒有則為空。
- 屬性
備註
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
適用於
RegisterReceiver(BroadcastReceiver, IntentFilter, ActivityFlags)
警告
This method has an incorrect enumeration type. Use the overload that takes ReceiverFlags instead.
註冊以接收意圖廣播,接收端可選擇性地暴露給即時應用程式。 更多資訊請參閱 registerReceiver(BroadcastReceiver, IntentFilter)。 預設情況下,即時應用程式無法與其他應用程式中的接收器互動,這讓你可以公開一個接收器,讓即時應用程式能互動。 欲了解更多意圖廣播資訊,請參閱 BroadcastReceiver。 截至Build.VERSION_CODES年。UPSIDE_DOWN_CAKE ,系統可在應用程式處於快取狀態時,將上下文註冊的廣播放入佇列。 當應用程式離開快取狀態,例如回到前景時,系統會傳送所有排隊的廣播。 某些廣播的多個實例可能會合併成一個廣播。 截至Build.VERSION_CODES年。ICE_CREAM_SANDWICH,使用此方法註冊的接收器會正確遵守廣播意圖所指定的 Intent.setPackage(字串)。 在此之前,這份郵件會被忽略,並送達所有匹配的註冊收件人。 使用這些資料時要小心。 參數接收器 BroadcastReceiver:此值可能為空值。
[Android.Runtime.Register("registerReceiver", "(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;I)Landroid/content/Intent;", "GetRegisterReceiver_Landroid_content_BroadcastReceiver_Landroid_content_IntentFilter_IHandler", ApiSince=26)]
[System.Obsolete("This method has an incorrect enumeration type. Use the overload that takes ReceiverFlags instead.")]
public override Android.Content.Intent? RegisterReceiver(Android.Content.BroadcastReceiver? receiver, Android.Content.IntentFilter? filter, Android.Content.ActivityFlags flags);
[<Android.Runtime.Register("registerReceiver", "(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;I)Landroid/content/Intent;", "GetRegisterReceiver_Landroid_content_BroadcastReceiver_Landroid_content_IntentFilter_IHandler", ApiSince=26)>]
[<System.Obsolete("This method has an incorrect enumeration type. Use the overload that takes ReceiverFlags instead.")>]
override this.RegisterReceiver : Android.Content.BroadcastReceiver * Android.Content.IntentFilter * Android.Content.ActivityFlags -> Android.Content.Intent
參數
- receiver
- BroadcastReceiver
廣播接收器要註冊。
- filter
- IntentFilter
意圖過濾器,負責選擇接收廣播。
- flags
- ActivityFlags
控制這次行動的旗幟。
傳回
第一個固定意圖找到的 與濾波器 相符,若沒有則為 null。
- 屬性
備註
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。