java.lang.Object | |
↳ | android.content.BroadcastReceiver |
类概述
基类代码会收到sendbroadcast()意图。
如果你不需要在应用程序发送广播,考虑使用localbroadcastmanager类代替以下描述的更一般的设施。这会给你一个更有效的实现(没有跨进程通信的需要),相关的其它应用程序能够接收或发送你的广播,允许你避免思考任何安全问题。
你可以通过Context.registerReceiver() 动态注册这一类的上下文的一个实例。或静态发布一个<receiver>标签在你的AndroidManifest.xml配置文件。
注意:
如果在Activity.onResume()动态注册一个接收器,你应该在 Activity.onPause()取消它的活动。(暂停时你不会接受意图,这将减少不必要的系统开销)。不要在Activity.onSaveInstanceState()取消活动。因为这不会被称为是用户在历史堆向后移动。
广播可以接收两大类
即使在正常广播的情况下,系统可能在某些情况下,恢复一次传送广播接收机。特别是,接收器,可能需要一个创造的过程,只有一个将运行在一个时间来避免超载的系统的新工艺。然而在这种情况下,非顺序的语义,认为:这些接收器还不能返回的结果或中止其广播。请注意,尽管意图类用于发送和接收这些广播,广播机构的意图是从这里的意图是用来启动活动中完全分离 Context.startActivity()。没有办法让中看到或捕获用于startactivity()意图;同样,当你广播的意图,你将永远找不到或启动活动。这两个操作在语义上是非常不同的:从一个意向活动是一个前台操作,修改什么用户当前交互;广播意图是后台操作,用户通常不知道。
BroadcastReceiver类(启动时作为一个组件通过一个明显的 <receiver>标签)是一个应用程序的整个生命周期的一个重要组成部分。
主题
了解如何使用这个类来接收和解决的意图,阅读Intents and Intent Filters开发者指南。
嵌套类
BroadcastReceiver类中方法 |