Android - 如何收听未注册的广播接收器?

时间:2017-01-15 18:38:07

标签: android android-intent android-activity android-broadcast android-broadcastreceiver

我有一个活动A.java发送一个广播,需要等待这个广播未注册,然后做其他事情。该广播接收器将调用另一个活动B.java,并且仅在活动结束时取消注册广播接收器。

所以我的问题是如何让A.java听取未注册的broadcastReceiver?

更具体地说,它是应用程序A中的A.java和应用程序B中的B.java。我无法想出一种在应用程序之间进行通信的方式,但是广播。有没有人有更好的想法?

谢谢!

2 个答案:

答案 0 :(得分:0)

我建议你重新考虑你的应用流程。当活动A发送本地广播时,活动B可以在完成应该完成的任务之后监听并发回另一个广播。您不必收听未注册的广播接收器,因为您应该在生命周期拆解事件(例如onStop)中取消注册它们。

答案 1 :(得分:0)

错误的appraoch。您无法在“取消注册”接收器时触发。

您可以通过调用startActivityForResult()startActivity()并在Intent中传递数据,或通过广播Intent发送数据,在单个任务的活动之间进行通信。让您的接收者注册并收听,并根据需要发送尽可能多的广播Intent