我阅读了this article,以了解隐式和显式广播之间的区别。完成此操作后,我对广播本身的概念感到困惑。
通常,术语broadcast
意味着将信息分散/发布给更广泛的受众,任何听/接收消息的人都可以使用它。
在显式广播的情况下,当我们知道组件名称(根据Java术语的程序包名称)和活动名称(Java术语的相应类名称)时,为什么不直接调用Class.startActivity()
而不是进行配置将其传递给清单-将其传递给aosp并获得对要调用的方法的控制。我觉得广播一词的目的在这里并没有得到满足,因为我们知道要发送给谁(1-1)。
当我们直接控制Java中的方法调用时,为什么AOSP引入了广播?这是要为应用程序带来结构吗?
编辑:
我应该更具体地询问它,例如为什么我们在相同的过程中需要广播。
答案 0 :(得分:1)
由于我们知道要发送给谁(1-1),因此我感到广播本身一词的目的没有得到满足。
广播Intents
(隐式广播)的原始一般情况是“真实”广播,其中可以注册任意数量的应用程序以收听广播。您指定ComponentName
或程序包名称的方案是广播IPC机制的专门子集。
当我们直接控制Java中的方法调用时,为什么AOSP会引入广播?
广播是Android IPC的一种形式。 “直接控制调用方法”不是IPC,因为您不能在另一个应用程序中调用方法。为了在您自己的应用程序中进行通信,您不需要广播。对于应用之间的通信,您需要IPC,为此,广播是一种选择。