一
1.编写aidl文件
2.编写自己的Service
3.在自己的Service的onBind方法中,将aidl文件生成的类中的Stud的子类返回(需要继承Stud重写接口方法)
4.在AndroidManifest.xml中配置你的Service类,示例
注意:service android:name="com.aidl.SerachService"中,android:name属性必须填写你的Service的名字,包括包名,不能写aidl生成的类的名字,因为那不是个Service<service android:name="com.aidl.SerachService" android:enabled="true">
<intent-filter>
<action android:name="com.aidl.ISerachService" />
</intent-filter>
</service>
二
1.编写调用aidl服务的客户端
2.把之前编写的aidl文件(注意不是生成的java文件)和它的包目录拷贝到客户端的src目录中
3.在需要的地方用一下方法绑定,new Intent构造器中的action填写的就是之前<action android:name="com.aidl.ISerachService" />中的android:name的字符串
Intent serviceIntent = new Intent("com.aidl.ISerachService"); bindService(serviceIntent, conn, Context.BIND_AUTO_CREATE);
LOCAL_SRC_FILES := $(call all-subdir-java-files) \
com.aidl.ISerachService.aidl \
否则make编译不过。如果有回调aidl也要加上。
顶一个!