当我们更喜欢广播接收机AIDL,Ibinder时,有哪些用例?

时间:2015-12-28 04:30:29

标签: android broadcastreceiver aidl

我想知道AIDL比广播接收器更好的选择的用例,反之亦然。同样,当Ibinder比广播接收器和AIDL更好的用例

1 个答案:

答案 0 :(得分:9)

的BroadcastReceiver

  1. 沟通实体的类型:大多数不同的应用程序。
  2. 通讯由以下方式触发:发件人
  3. 通过以下方式接收通信:任意数量的接收器(一对多)
  4. 发件人是否知道谁在接收? :主要是否。
  5. 真实世界类比:你在纸上写东西并显示出来 公告板。谁有兴趣读。
  6. 实施例
    您正在编写一个应用程序,它将记录每次用户接听电话时的通话时间。您的应用将响应PHONE_STATE

    的广播

    AIDL

       
    1. 沟通实体的类型:不同的应用程序。
    2. 通讯由以下方式触发:接收方
    3. 仅接收通信:接收方。 (一对一)
    4. 发件人是否知道谁在接收? :是的
    5. 真实世界类比:您收到一封带回程邮资的信件。您使用相同的信封和邮资将回复写入发件人。
    6. 实施例
      您的应用已要求用户购买一些应用内商品,您需要致电Play服务以检查用户是否已成功处理付款并购买了应用内商品。

      应用内的绑定服务

      1. 通信实体的类型:通常是同一个应用中的组件。
      2. 通讯由以下方式触发:接收方
      3. 仅接收通信:接收方。 (一对一)
      4. 发件人是否知道谁在接收? :是的。
      5. 真实世界类比:你正坐在教室里,朋友给你发了一个小窍门,你在上面写了回复并把它还给了他。
      6. 实施例
        你的应用程序有5个屏幕,每个屏幕都有一个按钮,它截取屏幕截图并将其保存到文件系统。您可以将截屏/保存截取到服务中的文件逻辑,所有屏幕只需调用该服务即可。

        注意:如果是基于AIDL的IPC,则需要使用Bound服务来调用远程进程。