我对这个函数的参数很有疑惑像startService(Intent)和stopService(Intent),这两个函数都带了Intent对象,根据Intent可以找到唯一的service但是bindService(Intent, ServiceConnection, int)和unbindService(ServiceConnection),前者带了Intent对象没问题,但后者没有带Intent对象啊,我很好奇它是如何取消绑定服务的,难道是把所有绑定过的服务都取消绑定吗?求高手赐教

解决方案 »

  1.   

    在bindService和unbindService这两个方法中,最重要的是其中的参数 serviceConnection. 该对象用于监听访问着于service之间的连接情况。当访问者于service之间连接成功时将回调该对象中的onServiceConnected(ComponentName, IBinder service);当访问着于service之间断开连接时将回调onServiceDisconnected(ComponentName name);
      

  2.   

    bindService运行成功会得到一个ServiceConnection,这个ServiceConnection保存了bindService过程中连接的信息,所以在unbindService时,只要读ServiceConnection就可以知道连接的是哪个服务,断开就好了。