移動客戶端業(yè)務(wù)層組件化(4)- 我們的方案Android篇

iOS的組件間通訊方案核心問題是解決:注冊服務(wù)、發(fā)現(xiàn)服務(wù)、調(diào)用服務(wù)的過程,Android由于每個Activity在安裝時就被注冊到系統(tǒng)中且可以跨進程可見、跨進程調(diào)用,因此無需特殊實現(xiàn),使用隱式Intent即可。

針對iOS中的六種場景,Android對應(yīng)的實現(xiàn):

** 場景1:A組件內(nèi)部Activity互相調(diào)用:**
使用顯示Intent,eg:

startActivity(new Intent(this, AlbumActivity.class))

** 場景2:A組件的Activity1調(diào)用B組件的Activity2**
使用隱式Intent,eg:

startActivity(new Intent(Intent.ACTION_VIEW, "eg_album"))

** 場景3:外部應(yīng)用通過URL調(diào)用B組件的Activity2**
同場景2

** 場景4:A組件里的H5通過URL調(diào)用B組件的Activity2**
同場景2

** 場景5:A組件里的H5通過URL調(diào)用A組件里的Activity1**
同場景2

** 場景6:A組件的VC1調(diào)用B組件的VC2,并需要拿到VC2的業(yè)務(wù)處理結(jié)果**
同場景2,調(diào)用方法改為startActivityForResult

注意:
由于Android Activity注冊服務(wù)是跨進程可見且跨進程可調(diào)用的,因此需要對訪問者身份及安全性做校驗。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容