目前有个需求需要使用AIDL进行两个进程之间的通信(时间紧迫 等做完再写篇进行分享 这个单纯记录个坑 怕忘了)
因为涉及到了网络请求 所以需要做一个异步的回调 搜了网上很多博客也都有很详细的讲解 但是就是跑不起来 按照说的 如下代码:
1.AIDL
但是怎么跑都跑不起来 然后也没有报错 只能看到是因为这个AIDL导致的
后来详细对比才发现是因为没有import另一个类导致的 但是AS也不会提醒报错
这样就行了
又遇到第二个坑
异步回调的时候总是显示空指针或者readException什么异常或者什么binder异常 是因为生成回调是自动生成重写了adBinder如图
删掉就好了
遇到第三个坑
就是bindService在调用时只有第一次是有效果的 剩下都不会生效
所以我们应该在AIDL通信完成后调用unbindService 这样下一次就可以正常调用了