ContextWrapper.RegisterReceiver 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
| 名称 | 说明 |
|---|---|
| RegisterReceiver(BroadcastReceiver, IntentFilter, String, Handler, ActivityFlags) |
已过时.
注册以接收意向广播,以在计划程序上下文中运行。 有关详细信息,请参阅 registerReceiver(BroadcastReceiver、IntentFilter、int) 和 registerReceiver(BroadcastReceiver、IntentFilter、String、Handler)。 有关意向广播的详细信息,请参阅 BroadcastReceiver。 截至Build.VERSION_CODES。UPSIDE_DOWN_CAKE,当应用处于缓存状态时,系统可以在队列中放置上下文注册的广播。 当应用离开缓存状态(例如返回到前台)时,系统将传送任何排队的广播。 某些广播的多个实例可能会合并到一个广播中。 截至Build.VERSION_CODES。ICE_CREAM_SANDWICH,使用此方法注册的接收方将正确遵循为要广播的意向指定的 Intent.setPackage(String)。 在此之前,它将被忽略并传递到所有匹配的已注册接收器。 如果将其用于安全性,请小心。 参数接收器 BroadcastReceiver:此值可能为 null。 |
| 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(String)。 在此之前,它将被忽略并传递到所有匹配的已注册接收器。 如果将其用于安全性,请小心。 参数接收器 BroadcastReceiver:此值可能为 null。 |
RegisterReceiver(BroadcastReceiver, IntentFilter, String, Handler, ActivityFlags)
注意
This method has an incorrect enumeration type. Use the overload that takes ReceiverFlags instead.
注册以接收意向广播,以在计划程序上下文中运行。 有关详细信息,请参阅 registerReceiver(BroadcastReceiver、IntentFilter、int) 和 registerReceiver(BroadcastReceiver、IntentFilter、String、Handler)。 有关意向广播的详细信息,请参阅 BroadcastReceiver。 截至Build.VERSION_CODES。UPSIDE_DOWN_CAKE,当应用处于缓存状态时,系统可以在队列中放置上下文注册的广播。 当应用离开缓存状态(例如返回到前台)时,系统将传送任何排队的广播。 某些广播的多个实例可能会合并到一个广播中。 截至Build.VERSION_CODES。ICE_CREAM_SANDWICH,使用此方法注册的接收方将正确遵循为要广播的意向指定的 Intent.setPackage(String)。 在此之前,它将被忽略并传递到所有匹配的已注册接收器。 如果将其用于安全性,请小心。 参数接收器 BroadcastReceiver:此值可能为 null。
[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
广播公司必须保留的权限的名称,以便向此接收方发送意向。 如果为 null,则不需要任何权限。
- scheduler
- Handler
接收方回调运行的处理程序。
- flags
- ActivityFlags
控制此操作的标志。
返回
找到与筛选器匹配的第一个粘滞意向,如果没有筛选器,则为 null。
- 属性
注解
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
适用于
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
广播公司必须保留的权限的名称,以便向此接收方发送意向。 如果为 null,则不需要任何权限。
- scheduler
- Handler
标识将接收意向的线程的处理程序。 如果为 null,将使用进程的主线程。
返回
找到与筛选器匹配的第一个粘滞意向,如果没有筛选器,则为 null。
- 属性
注解
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
适用于
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 与其中一个粘滞意向匹配,该意向将由此函数返回,并发送到接收方,就好像它刚刚广播一样。 可能有多个粘滞意向与筛选器匹配,在这种情况下,每个意向都将发送到接收方。 在这种情况下,函数只能直接返回其中一个;系统任意决定返回的其中哪一项。 如果你知道要注册的意向是粘滞的,则可以为接收方提供 null。 在这种情况下,未注册接收方 -- 函数只返回与筛选器匹配的粘滞意向。 如果有多个匹配项,则适用上述规则。 有关意向广播的详细信息,请参阅 BroadcastReceiver。 截至Build.VERSION_CODES。UPSIDE_DOWN_CAKE,当应用处于缓存状态时,系统可以在队列中放置上下文注册的广播。 当应用离开缓存状态(例如返回到前台)时,系统将传送任何排队的广播。 某些广播的多个实例可能会合并到一个广播中。 截至Build.VERSION_CODES。ICE_CREAM_SANDWICH,使用此方法注册的接收方将正确遵循为要广播的意向指定的 Intent.setPackage(String)。 在此之前,它将被忽略并传递到所有匹配的已注册接收器。 如果将其用于安全性,请小心。 对于面向Build.VERSION_CODES的应用。UPSIDE_DOWN_CAKE,如果未为系统广播注册接收方或引发 SecurityException,则必须指定RECEIVER_EXPORTED或RECEIVER_NOT_EXPORTED。 请参阅 registerReceiver(BroadcastReceiver,IntentFilter,int),使用标志注册接收方。 注意:无法从 BroadcastReceiver 组件调用此方法;也就是说,来自在应用程序清单中声明的 BroadcastReceiver。 但是,从另一个 BroadcastReceiver(BroadcastReceiver, IntentFilter) 运行时注册此方法是可以的,因为此类已注册的 BroadcastReceiver 的生存期与注册它的对象相关联。 参数接收器 BroadcastReceiver:此值可能为 null。 filter IntentFilter:选择要接收的意向广播。 返回意向:找到与筛选器匹配的第一个粘滞意向;如果没有筛选器,则返回 null。
- 属性
注解
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
适用于
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(String)。 在此之前,它将被忽略并传递到所有匹配的已注册接收器。 如果将其用于安全性,请小心。 参数接收器 BroadcastReceiver:此值可能为 null。
[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。
- 属性
注解
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。