移动客户端业务层组件化(4)- 我们的方案Android篇

iOS的组件间通讯方案核心问题是解决:注册服务、发现服务、调用服务的过程,Android由于每个Activity在安装时就被注册到系统中且可以跨进程可见、跨进程调用,因此无需特殊实现,使用隐式Intent即可。

针对iOS中的六种场景,Android对应的实现:

** 场景1:A组件内部Activity互相调用:**
使用显示Intent,eg:

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

** 场景2:A组件的Activity1调用B组件的Activity2**
使用隐式Intent,eg:

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

** 场景3:外部应用通过URL调用B组件的Activity2**
同场景2

** 场景4:A组件里的H5通过URL调用B组件的Activity2**
同场景2

** 场景5:A组件里的H5通过URL调用A组件里的Activity1**
同场景2

** 场景6:A组件的VC1调用B组件的VC2,并需要拿到VC2的业务处理结果**
同场景2,调用方法改为startActivityForResult

注意:
由于Android Activity注册服务是跨进程可见且跨进程可调用的,因此需要对访问者身份及安全性做校验。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容