半显式意图

时间:2014-04-11 14:36:52

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

Android中有两种意图:

  • 隐含:只需指定一个动作名称,将其广播给全世界。
  • 显式:指定包名和类,直接发送意图 那里。

是否有可能有另一个级别,我只是指定包名,但没有明确的类名,以便响应某个操作的包中的所有广播接收器都被激活?如何实现这种效果?

1 个答案:

答案 0 :(得分:1)

  

是否有可能有另一个级别,我只是指定包名,但没有明确的类名,以便响应某个操作的包中的所有广播接收者都被激活

如果通过“只指定包名称”实际上意味着“只需指定包名称和操作字符串”,那么如果use setPackage()指定包名称,您应该能够获得所需的效果。

话虽这么说,我没有尝试过在单个包中的多个接收器都监听相同的动作字符串,尽管文档表明它应该工作。就个人而言,我只需要一个接收器并使用内部事件总线进行路由就可以处理,或者如果此广播是从应用程序到同一个应用程序,则使用事件总线。