android IPC之binder通信機制
更新時間:2012年11月28日 10:30:45 作者:
Binder通信機制說來簡單,但是在使用的過程的遇到了一些問題,最后終于解決了,現(xiàn)在曬出來和大家分享一下,希望可以幫助你們
Binder通信機制說來簡單,但是在使用的過程的遇到了一些問題,最后終于解決了,在這總結(jié)一下,一并分享給大家:
1、要使用Binder通信,首先要定義接口,然后實現(xiàn)服務(wù)端BnInterface***和客戶端BpInterface***,說到底一個是把參數(shù)解包,一個是把參數(shù)打包。
2、服務(wù)端要能夠接收Binder調(diào)用請求,要具備兩個條件:一個是實現(xiàn)Bn接口,另一個是調(diào)用IPCProcess()-》self->startThreadPool()
IPCThread()->Self->joinThreadPool();
這兩句話非常關(guān)鍵,因為他啟動了一個線程在后臺,負(fù)責(zé)讀取Binder接口調(diào)用的請求,然后調(diào)用具體接口,如果沒有這個線程,你的服務(wù)是收不到調(diào)用請求的,客戶端會調(diào)用失敗(died)。
對于客戶端也一樣,如果要支持回調(diào),也必須要啟動讀取Binder調(diào)用的線程,否則,回調(diào)失敗。
1、要使用Binder通信,首先要定義接口,然后實現(xiàn)服務(wù)端BnInterface***和客戶端BpInterface***,說到底一個是把參數(shù)解包,一個是把參數(shù)打包。
2、服務(wù)端要能夠接收Binder調(diào)用請求,要具備兩個條件:一個是實現(xiàn)Bn接口,另一個是調(diào)用IPCProcess()-》self->startThreadPool()
IPCThread()->Self->joinThreadPool();
這兩句話非常關(guān)鍵,因為他啟動了一個線程在后臺,負(fù)責(zé)讀取Binder接口調(diào)用的請求,然后調(diào)用具體接口,如果沒有這個線程,你的服務(wù)是收不到調(diào)用請求的,客戶端會調(diào)用失敗(died)。
對于客戶端也一樣,如果要支持回調(diào),也必須要啟動讀取Binder調(diào)用的線程,否則,回調(diào)失敗。
相關(guān)文章
Android RecyclerView網(wǎng)格布局示例解析
這篇文章主要介紹了Android RecyclerView網(wǎng)格布局示例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-12-12Android MediaPlayer 音頻倍速播放 調(diào)整播放速度問題
這篇文章主要介紹了Android MediaPlayer 音頻倍速播放,調(diào)整播放速度,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-09-09Android高手進階教程(二十六)之---Android超仿Path菜單的功能實現(xiàn)!
本篇文章主要主要介紹了Android超仿Path菜單的功能實現(xiàn),現(xiàn)在分享給大家,也給大家做個參考。感興趣的可以了解一下。2016-11-11Android實現(xiàn)recyclerview城市字母索引列表
大家好,本篇文章主要講的是Android實現(xiàn)recyclerview城市字母索引列表,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下2022-01-01Android 個人理財工具一:項目概述與啟動界面的實現(xiàn)
本文主要介紹Android 開發(fā)個人理財工具項目概述與啟動界面的實現(xiàn),這里主要對實現(xiàn)項目的流程做了詳細(xì)概述,并對啟動界面簡單實現(xiàn),有需要的小伙伴可以參考下2016-08-08