【问题标题】:Semi-explicit intents半显式意图
【发布时间】:2014-04-11 14:36:51
【问题描述】:

Android 中有两种意图:

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

是否可以有另一个级别,在某种意义上,我只指定包名,但没有明确的类名,以便包中响应操作的所有广播接收器都被激活?怎样才能达到这种效果?

【问题讨论】:

  • 它与隐式意图有何不同?如果您为您的应用使用独特的操作?

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


【解决方案1】:

是否可以有另一个级别,在某种意义上,我只指定包名,但没有明确的类名,以便包中响应动作的所有广播接收器都被激活

如果说“只指定包名”你的意思是“只指定包名和操作字符串”,如果你use setPackage()指定包名,你应该能够得到你想要的效果。

话虽如此,我还没有对单个包中的多个接收器进行此尝试,这些接收器都在侦听相同的操作字符串,尽管文档表明它应该可以工作。就个人而言,我会通过只有一个接收器并使用内部事件总线进行路由来处理这个问题,或者如果此广播是从应用程序发送到同一个应用程序,则专门使用事件总线。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多