上面的写的有点乱。简单地说就是:我有一个Service。我想让我的Service向我的主线程发送信息并更新UI。
问题补充:研究了一个晚上的AIDL。。感觉这个最接近问题了但是由此又出了一个问题。我貌似必须先向我的Service提出一个申请。然后才能返回信息。这个不是我的本意。我想让我的service在检测到更新的时候就自动向主线程提交信息。。怎么做?最好能给最关键的那几句伪代码。

解决方案 »

  1.   

    AIDL可以解决你的问题,可以再仔细研究下。
    另外有更好的解决方案:你的Service在监听到数据库发生变化的时候再发送一个自定义广播,把必要的信息携带到广播的intent上。ui主线程监听自定义的广播,然后更新。这样做的好处是,前台和后台可以不用像AIDL那样始终保持连接状态,减少了资源消耗,另外,基于消息的驱动会让架构更加清晰和节省资源
      

  2.   

    能用intent广播自然是最好不过了。不过广播可以在主线程或者服务里接受么?咳咳。这个问题有点二。我是单独继承了一个broadcast,然后用startservice传递到service里的我2了