1、要使用Binder通信,首先要定义接口,然后实现服务端BnInterface***和客户端BpInterface***,说到底一个是把参数解包,一个是把参数打包。
2、服务端要能够接收Binder调用请求,要具备两个条件:一个是实现Bn接口,另一个是调用IPCProcess()-》self->startThreadPool()
IPCThread()->Self->joinThreadPool();
这两句话非常关键,因为他启动了一个线程在后台,负责读取Binder接口调用的请求,然后调用具体接口,如果没有这个线程,你的服务是收不到调用请求的,客户端会调用失败(died)。
对于客户端也一样,如果要支持回调,也必须要启动读取Binder调用的线程,否则,回调失败。 您可能感兴趣的文章:Android通过继承Binder类实现多进程通信Android学习之介绍Binder的简单使用Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析Android系统进程间通信(IPC)机制Binder中的Client获得Server远程接口过程源代码分析Android系统进程间通信(IPC)机制Binder中的Server启动过程源代码分析Android系统进程间通信(IPC)机制Binder中的Server和Client获得Service Manager接口之路浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路Android深入浅出之Binder机制Android进程间通信(IPC)机制Binder简要介绍理解Android系统Binder机制Android4.1中BinderService用法实例分析Android中Binder详细学习心得