1. android.os.ServiceManager,适用于系统开发
服务端:
public static void addService(String name, IBinder service)
客户端:
public static IBinder getService(String name)
2. android.app.Service,适用APP开发
服务端:
重写方法 public abstract IBinder onBind(Intent intent)
客户端:
调用 boolean bindService(Intent service, ServiceConnection conn, int flags)
在ServiceConnection 回调 获取IBinder
void onServiceConnected(ComponentName name, IBinder service)
3. 匿名Binder
如ActivityThread.java
final IActivityManager mgr = ActivityManager.getService();
mgr.attachApplication(mAppThread);
其中mAppThread就是匿名Binder
网友评论