ServiceConnection
1.概述
用于查询应用服务(application Service)的状态的一种interface,更详细的信息可以参考Service 和 context.bindService()中的描述,和许多来自系统的回调方式一样,ServiceConnection的方法都是进程的主线程中调用的。
2.公共方法
1)abstract void onServiceConnected(ComponentName name, IBinder service)
在建立起于Service的连接时会调用该方法,目前Android是通过IBind机制实现与服务的连接。
参数:
name 实际所连接到的Service组件名称
Service 服务的通信信道的IBind,可以通过Service访问对应服务
2)public abstract void onServiceDisconnected (ComponentName name)
当与Service之间的连接丢失的时候会调用该方法,这种情况经常发生在Service所在的进程崩溃或者被Kill的时候调用,此方法不会移除与Service的连接,当服务重新启动的时候仍然会调用 onServiceConnected()。
参数
name 丢失连接的组件名称
3.注意事项
ServiceConnection的两个公共方法都是在主线程中不断查询得到的,它与当前应用程序的Activity大多数情况下处于同一个线程,想使用同步机制等待Service启动成功的童鞋要留意。