Aidl开发流程(android studio)

1,server端:新建aidl文件IMyInterface,在aidl文件中声明功能方法。
2,执行 build ->make project
3,新建ServerService继承Service,在onBind方法中实现 IMyInterface.stub并返回:
public IBinder onBind(Intent intent) {

return new IMyAidlInterface.Stub() {
@Override
public void showHello() throws RemoteException {
System.out.println("------Hello World");
}
};
}

4,在activity中通过intent启动service,在清单文件中配置service
            android:name=".BinderServer">
           
               
           
       
5,运行到手机上

客户端:
1,新建项目,将上文 的aidl文件复制到build\generated\source\aidl\debug\目 录下,包名保持和服务端一致
2,activity中,通过服务端配置的action隐式启动service
  Intent intent = new Intent();
intent.setAction("hello.world.service");
bindService(intent, new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder service) {

myBinder = IMyAidlInterface.Stub.asInterface(service);
}

@Override
public void onServiceDisconnected(ComponentName name) {
myBinder = null;
}
}, BIND_AUTO_CREATE);

3,通过myBinder调用服务端service中实现的方法。


发布了32 篇原创文章 · 获赞 0 · 访问量 1万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章