Binder (一) 三种调用方式

2021-04-25  本文已影响0人  tzlf

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

上一篇 下一篇

猜你喜欢

热点阅读