Activity与Service的通信方式有三种:
其中第一种也是最简单的一种, 即LocalBinder方式
特点, Activity和Service位于同一个进程内, 简单,方便,可以实现activity和service之间的函数互相调用.
service提供给activity的函数,我放到了接口 IManager中, 这样只需给activity暴露 IManager的接口函数即可, activity只能调用service提供的getName等函数,而不能调用service的onBinder等其他函数;
actvity的回调函数, 我放到了ICallback类中,这样 service那边看到了只有 ICallback暴露的onError等函数,而看不到Activity的onCreate等函数.
github源码如下:
https://github.com/knightshaoxia/01-Android_ClientServiceIBinder