是否可以在启动广播的 activity 中接收广播结果?

Is it possible to receive a result of a broadcast in the activity that launches the broadcast?

我正在 Android Studio 中开发应用程序。这个应用程序有一个片段,比如说 A,它在用户点击时启动一个 activity,比如说 B。 activity B 发起广播,读取收到的短信并获取代码。此代码必须发送给 activity B,activity B 必须将代码写入 editText。

那么,应用程序收到登录验证码...我该怎么做?

Imagen 1

Imagen 2

有可能,但 sendBroadcast() 不行。相反,您必须使用 sendOrderedBroadcast()

但是,这确实需要您设置接收 BroadcastReceiver,因为默认情况下,只有 BroadcastReceivers 可以收听广播,所以即使允许 Activity 发送广播,它也无法收听一个,即使它是反馈。

但是如果您不想使用 sendOrderedBroadcast(),没有什么可以阻止您让 BroadcastReceiver 将结果 Broadcast 发送到您在 Activity 中设置的 BroadcastReceiver。

是的,这两种解决方案听起来非常相似,因为允许 Activity 能够收听广播的要求是相同的。