引入aidl文件并调用

如何引入:

第一步:

找到需要导入工程的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();

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页