概述
注:本文基于Android 10源码,为了文章的简洁性,引用源码的地方可能有所删减。
Service作为Android四大组件之一,理解其内部的相关原理和源码还是很有必要的,理解了这些后,日常的开发中遇到问题也会多一种解决思路。在Android高版本中,系统不允许应用直接调用ServiceManager.addService添加自定义的服务,除非修改系统Selinux Policy等文件定制ROM,接下来的解析也可以根据Service的原理明白bindService是怎么通过AMS来传递Binder对象的。