参考文献:
http://blog.csdn.net/baiyanning/article/details/6191682
1 概述
大家都知道在Android下的IPC机制是Binder,它可以实现两个进程之间的通信。有关Binder的介绍网上太多,这里就不费话,OK,还是进入这篇文章的主题,即教你如何创建一个连接到Binder上的服务.并且这个示例中的源代码是保证可以原样编译通过的.
在开始之前,我们首先来简单介绍一下我们即将制作的服务ExampleServer, 这个示例服务由主程序加上一个libExample.so文件组成,libExample.so用来实现对Client端实现的接口,而主程序就是用来启动这个服务的.费话不说了,下面进入正题.
2 步骤
第1步:生成ExampleService.so文件
1: 在framework/base目录下新建一个目录,用来保存libExample.so的源码
$cd framework/base/
$mkdir ExampleService
进入此目录:
$cd ExampleService
新建3个文件:ExampleService.h ,ExampleService.cpp,Android.mk
其中ExampleService.h文件的内容如下:
// File: ExampleService.h
#ifndef ANDROID_EXAMPLE_SERVICE_H
#define ANDROID_EXAMPLE_SERVICE_H
#include <utils/threads.h>
#include <utils/RefBase.h>
#include <binder/IInterface.h>
#include <binder/BpBinder.h>
#include <binder/Parcel.h>
namespace android {
class ExampleService : public BBinder
{