深入淺出 Android核心組件Service(2)
第二種是通過綁定的方式來啟動(dòng)Service。先看流程圖。

點(diǎn)擊查看大圖
綁定的方式和***節(jié)的方式***的不同就是在于,Activity可以和Service實(shí)現(xiàn)關(guān)聯(lián),當(dāng)被關(guān)聯(lián)的Activity結(jié)束后,相應(yīng)的Service 也會(huì)停止,同時(shí)在綁定了的Activity中我們還可以回調(diào)我們?cè)赟ervice中定義的方法。在這里我們使用了 this.bindService(intent, myServiceConnection, Context.BIND_AUTO_CREATE); 來啟動(dòng)Service,當(dāng)Service創(chuàng)建了同時(shí)綁定了Activity之后,會(huì)回調(diào)我們定義的ServiceConnection(),從而傳回IBinder接口,我們就能夠調(diào)用Service中的方法了。這時(shí)候Activity就和 Service實(shí)現(xiàn)了綁定,Activity退出了Service就相應(yīng)的退出了。Service的申明如下,intent filter 是對(duì)接收Service的過濾。
- <service android:enabled="true" android:name=".service.mediaplayer.BindMusicService">
 - <intent-filter>
 - <action android:name="com.androidtest.service.mediaplayer.BindMusicService" />
 - </intent-filter>
 - </service>
 
本節(jié)的源代碼可以在此下載: http://down.51cto.com/data/326385















 
 
 






 
 
 
 