1 将activity 传过来 用activity 调用方法更新UI
2
虽然Service也是在主线程工作。但是其无法直接更改ui。
间接的方法有很多的,可以参考android跨进程通信。
activity绑定Service
当Activity通过调用bindService(Intent service, ServiceConnection conn,int flags),
我们可以得到一个Service的一个对象实例,
然后我们就可以访问Service中的成员 与方法,获取进度值 自己更新UI
(中间用到回调来代替轮询
我们每次都要主动调用getProgress()来获取进度值,然后隔一秒在调用一次getProgress()方法,
你会不会觉得很被动呢?可不可以有一种方法当Service中进度发生变化主动通知Activity,
答案是肯定的,我们可以利用回调接口实现Service的主动通知
)
3 handler.sentMessage()
4 handler.post(new Runnable(){}) 与3类似
5 BroadcastReceiver 广播
6 异步通信机制
间接的方法有很多的,可以参考android跨进程通信。
activity绑定Service
当Activity通过调用bindService(Intent service, ServiceConnection conn,int flags),
我们可以得到一个Service的一个对象实例,
然后我们就可以访问Service中的成员 与方法,获取进度值 自己更新UI
(中间用到回调来代替轮询
我们每次都要主动调用getProgress()来获取进度值,然后隔一秒在调用一次getProgress()方法,
你会不会觉得很被动呢?可不可以有一种方法当Service中进度发生变化主动通知Activity,
答案是肯定的,我们可以利用回调接口实现Service的主动通知
)
3 handler.sentMessage()
4 handler.post(new Runnable(){}) 与3类似
5 BroadcastReceiver 广播
6 异步通信机制