AIDL
android 官网文档对AIDL讲解很清楚,这里稍微记录下:
实现AIDL分以下三步:
1. 在工程目录下创建AIDL文件
note:在AIDL文件中不能用static来修饰某一方法
2.实现AIDL接口
在服务端实现:
interface A(
public void getPid(int id);
)
A.stub mBinder = new A.stub(){
public void getPid(int id){
return id;
}
}
3 提供接口给客服端
public class AService extends Service{
@override
public void onCreate(){
super.onCreate();
}
@override
public IBinder onBind(Intent intent){
return mBinder;
}
private final A.Stub mBinder = new A.Stub(){
public void getPid(int id){
return id;
}
}
}
客户端通过bindService()连接服务端后,回调函数onServiceConnected通过onBinder函数得到服务端的mBinder变量。
当客户端获得IBinder service后,须通过A a= A.Stub.asInterface(service)来给客户端a变量赋值。
参考文章:http://developer.android.com/guide/components/aidl.html

浙公网安备 33010602011771号