Binder (一) 三种调用方式

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容