首先來看一張圖:
圖1 android本地服務示意圖
Android的服務分爲本地服務和遠程服務兩種,區別就在於服務與調用服務的對象是否在同一個進程中,此處只針對在同一個進程,即本地服務來加以說明。
(1) Activity中發起綁定請求
(2) localService調用onBindeed()API接口並返回一個localBinder對象給Activity
bindService()
Public classlocalBinder extends Binder{
LocalService getService(){
ReturnLocalService.this
}
}
(3) Activity在ServiceConnect中接收到返回的localBinder對象,並調用其getService()來獲得LocalService的引用。
(4) Activity可通過LocalService的引用可調用LocalService的其他方法,綁定完成。
本文內容摘至《Android框架揭祕》