音乐播放器中activity 与service 交互

来源:互联网 发布:如何查看电脑的端口号 编辑:程序博客网 时间:2024/06/04 19:05
1、Activity向Service传递消息的方法:
    1)利用BroadcastReceiver发送广播,Activity发送广播,Service中定义广播接收者进行接收。
    2)利用绑定服务的方式开启服务,暴露服务中的方法,Activity进行调用。这样既可以获取进度值用来改变UI  也可以改变service的值。
                    也就是说可以双向通信
    3)利用Intent打开服务(开启服务)的方式,通过Intent传递数据。

2、Service向Activity传递消息的方法:
    1)利用BroadcastReceiver,在Service中发送广播,Activity中接收。

    2)利用Handler在Service中发送消息,Activity中handleMessage进行处理

    3)利用绑定服务的方式开启服务,暴露服务中的方法,Activity进行调用。这样既可以获取进度值用来改变UI  也可以改变service的值

                     也就是说可以双向通信

    4)  利用Intent打开activity的方式,通过Intent传递数据。


  Activity向Service发送消息,还可以采用Intent,Service采用开启服务(startService)的方式。

      Service向Activity发送消息,网上也有说可以采用Intent打开Activity的方法,但用在播放器更新进度时,不太合适。

activity   向service 传递消息
    1 开启播放       传送文件地址   1  可以用Intent 首次开启服务   2 广播     3 暴露服务中的方法
     2 切换歌曲      传送文件地址     1  广播     2 暴露服务中的方法
     3 停止     直接停止   stopservice
     4 暂停          stopservice
     5  拖动进度条   1  广播     2  暴露服务中的方法


service 通知 activity更新UI

最好的  1   将activity 实例传到service  后调用其方法更新UI。

             2  广播

             3  handler

0 0
原创粉丝点击