如何引入:
第一步:
找到需要导入工程的aidl文件.通过文本打开,找到文件中的具体包名
package woyou.aidlservice.jiuiv5;
第二步:
在studio的工程目录下app/src/main/下创建一个aidl文件夹(aidl文件夹是跟java文件夹是同级的,不要创建到java文件夹里面)
第三步:
依次创建跟之前找到的包名一样的文件夹,我这里是:
woyou、aidlservice、jiuiv5
第四步:
把对应的aidl文件拷贝到创建的最后一层文件夹里
第五步:
这时候去java类方法里打对应aidl文件名,看是否可以识别,如果识别到为导入成功,识别不了重新编译一下即可
如何调用:
1.生成需要调用的aidl变量
public IWoyouService woyouService;
2.声明通过service绑定
public ServiceConnection connService = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
woyouService = IWoyouService.Stub.asInterface(service);
}
@Override
public void onServiceDisconnected(ComponentName name) {
woyouService = null;
}
};
3.如果变量等于NULL,就去注册
if (woyouService == null) {
Intent intent = new Intent();
intent.setPackage("woyou.aidlservice.jiuiv5");
intent.setAction("woyou.aidlservice.jiuiv5.IWoyouService");
BaseApplication.getContext().startService(intent);
BaseApplication.getContext().bindService(intent, PrintUtil.connService, Context.BIND_AUTO_CREATE);
}
4.调用aidl里面方法
woyouService.XXXX();