bindService的一些筆記

綁定本地服務的流程

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.中間人調用服務的方法


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章