使用场景:App端调用支付宝|微信支付、微信分享等需要调用三方应用获取其数据的场景
1.Server端
1.创建一个aidl 文件 File - New -Aidl
2.在Aidl接口中定义一个方法,供client 端调用, Rebuild项目,否则会找不到创建的aidl文件
3.建立一个Service文件,在service中定义一个内部类继承之前创建的Aidl文件,将该类作为onBind的返回值
4.在Manifest配置该Service 设置exported:true
2.Client端
1.将server项目中的aidl 文件夹复制到client 的app/src/main文件夹下, Rebuild项目,否则会找不到aidl文件
2. 在Activity中显示绑定server端的 Service,在onServiceConnected回调中取到aidl对象进行数据通信
intent.setComponent(server端包名,server端Service的全路径)
bindService(intent,serviceConnection,Context.BIND_AUTO_CREATE)
源码地址 : server端 https://gitee.com/jiang_shuai/AidlSimple.git
client 端 https://gitee.com/jiang_shuai/AidlClient.git
网友评论