bind service client不引用aidl
bind service client不引用aidl
创建单独的aidl仓库,在该仓库添加aidl文件,IService.aidl,定义可供client连接的aidl类
添加aidl文件 IClientListener.aidl,定义可供client接收消息的aidl类
1.在aidl仓库创建 MyManager,在 connectService方法,启动并绑定服务
public void connectService(ClientListener clientListener){
}
2.service 端定义接口实现,并在onBind 回调中返回
private IService.Stub mService = new IService.Stub(){
public void register2Service(IClientListener iClientListener) {
//蒋监听注册到service
}
...
}
public IBinder onBind(Intent intent) {
LogUtil.d(TAG, "onBind");
return mService;
}
3.在aidl仓库 实现client aidl实现
private IClientListener.Stub mClientListener = new IClientListener.Stub(){
...
}
在aidl 声明和IClientListener 一样方法的接口ClientListener让client实现接口,在调用处理ClientListener 回调,
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步