綁定本地服務的流程
1.在activity中調用bindService(),去綁定服務
bindService(intent, new MyConn(), BIND_AUTO_CREATE);
需要傳遞一個叫ServiceConnection的接口參數,用來返回連個毀掉
當服務被成功綁定
當服務失去連接
2.在service裏面需要重新onBind()方法,在服務被綁定的時候會被調用,返回一個IBinder接口對象(代理人)
代理人必須要實現一個方法,這個方法可以調用到服務的方法
3.在activity的onServiceConnected()得到代理人
4.調用代理人的方法
5.中間人調用服務的方法
綁定遠程服務的流程
1.在activity中調用bindService(),去綁定服務
bindService(intent, new MyConn(), BIND_AUTO_CREATE);
需要傳遞一個叫ServiceConnection的接口參數,用來返回連個毀掉
當服務被成功綁定
當服務失去連接
2.在service裏面需要重新onBind()方法,在服務被綁定的時候會被調用,返回一個IBinder接口對象(代理人)
接口定義要用aidl,用自動生成的IService.Stub
代理人必須要實現一個方法,這個方法可以調用到服務的方法
3.在activity的onServiceConnected()得到代理人
使用IService.Stub.asInterface()
4.調用代理人的方法
5.中間人調用服務的方法