代码之家  ›  专栏  ›  技术社区  ›  Mads Lee Jensen

服务和广播接收器之间的区别

  •  5
  • Mads Lee Jensen  · 技术社区  · 15 年前

    我试图理解服务和广播接收器之间的区别, 在我看来,他们可以做同样的事情。

    例如,我有一个应用程序:App1 我使用一个操作名为“com.test.HelloToast”的意图过滤器将其公开给其他应用程序

    我想隐式使用一个带有“com.test.HelloToast”操作的服务,所以我调用

    而且很有效。

    我知道大多数“系统事件”都是通过广播公开的,但它们难道不能作为服务意图发布吗?

    3 回复  |  直到 15 年前
        1
  •  4
  •   Dirk Jäckel    15 年前

    广播意图通常传达给 全部的 匹配服务实例。

    有些广播意图很难理解。这意味着它们可能是在过去发送的,并将在应用程序注册接收者时发送。

        2
  •  4
  •   IgorGanapolsky    11 年前

    最大的区别是BroadcastReceiver默认在主UI线程上运行(您可以指定不同的线程),因此它仅限于10秒的执行规则。另一方面,服务可以无限期地运行,直到操作系统决定终止它们。

        3
  •  3
  •   Abhinai    13 年前

    BroadcastReceiver用于在某个事件中激发某些内容或代码。例如,事件可以在设备启动时发生。如果您想在设备启动、日期和时间更改等情况下执行某些操作。。。