Skip to content

IPCInvokeClient的使用

albieliang edited this page Mar 15, 2018 · 4 revisions

IPCInvokeClient其内部是对IPCInvoker进行了一定的封装,针对指定的远端进程,支持IPCInvoker原本的同步和异步调用,实现了跨进程事件监听逻辑。

IPCInvokeClient的相关接口

@AnyThread
public <T extends IPCAsyncInvokeTask<InputType, ResultType>, InputType extends Parcelable, ResultType extends Parcelable>
            boolean invokeAsync(InputType data, @NonNull Class<T> taskClass, IPCInvokeCallback<ResultType> callback)
@WorkerThread
public <T extends IPCSyncInvokeTask<InputType, ResultType>, InputType extends Parcelable, ResultType extends Parcelable>
            ResultType invokeSync(InputType data, @NonNull Class<T> taskClass)
@AnyThread
public boolean registerIPCObserver(String event, @NonNull IPCObserver observer)
@AnyThread
public boolean unregisterIPCObserver(String event, @NonNull IPCObserver observer)

IPCInvokeClient使用示例

创建IPCInvokeClient

IPCInvokeClient client = new IPCInvokeClient("cc.suitalk.ipcinvoker.sample:push");

IPCInvokeClient在创建时已经指定远端进程(如示例中指定了远端进程为cc.suitalk.ipcinvoker.sample:push),所以其调 同步/异步 调用接口和IPCInvoker中的同步/异步调用是一致的,这里不再冗述,跨进程事件监听示例可以直接参考跨进程事件IPCDispatcher与IPCObservable