DOC/hejunlin/插件占坑,四大组件动态注册前奏(二) 系统Service的启动流程.md
前言:为什么要了解系统Activity,Service,BroadCastReceiver,ContentProvider的启动流程,这是一个对于即将理解插件中的四大组件动态注册,占坑的前提,如果不了解的话,那么很难了解插件hook哪些东西,又是如何骗过AMS来启动Activity,Service,BroadCastReceiver,ContentProvider?
本节主要记录系统Service的启动流程: 先看时序图:
与Activity组件的启动方式很像,Service启动分为隐式和显式两种,对于隐式启动Service组件来说,我们只需要知道它的组件名称,而对于显示的Service组件来说,需要知道它的类名称。 以一个后台播放音乐场景来说明: 通过实现一个MyService来实现一个异步任务来播放后台音乐
MyActivity.java
MyService.java
MyActivity组件绑定MyService的过程:
那service在系统中绑定是如何的呢? 同样看下时序图:
客户端组件启动Server组件的过程: