Android中的LocalBroadcast接收器

时间:2014-04-14 14:15:28

标签: android broadcastreceiver

我是机器人中的诺布。我在Android中第一次注意到这个词LocalBroadcastReceiver。任何人都知道在android中可以使用LocalBroadcastReceiver的地方吗?

2 个答案:

答案 0 :(得分:2)

LocalBroadCastReceiver用于接收应用程序级广播,使用它时必须使用LocalBroadcastManager,如果您不想在应用程序之外泄露数据,通常会使用它。

有关详细信息,请参阅: - http://developer.android.com/reference/android/support/v4/content/LocalBroadcastManager.html

考虑下载任何文件的情况,下载完成后,您希望将其通知您的应用程序,在这种情况下,您不需要发送系统级广播。

您将以这种方式发送广播: -

LocalBroadcastManager.getInstance(this).sendBroadcast("downloadComplete");

并以这种方式接收: -

LocalBroadcastManager.getInstance(this).registerReceiver(
        mMessageReceiver, new IntentFilter("downloadComplete"));

其中mMessageReceiver是动态定义的接收器

答案 1 :(得分:1)

这与android中的普通广播一样。您从app中的任何地方发出意图,并且注册到此意图的接收者正在处理接收它。

本地只是意味着,广播只在您的应用内发送,而不是发送到整个Android系统。 - >更私密,更有效率