如何引入:

第一步:

找到需要导入工程的aidl文件.通过文本打开,找到文件中的具体包名 

package woyou.aidlservice.jiuiv5;

第二步:

在studio的工程目录下app/src/main/下创建一个aidl文件夹(aidl文件夹是跟java文件夹是同级的,不要创建到java文件夹里面)

引入aidl文件并调用

第三步:

依次创建跟之前找到的包名一样的文件夹,我这里是:

woyou、aidlservice、jiuiv5

引入aidl文件并调用

第四步:

把对应的aidl文件拷贝到创建的最后一层文件夹里

引入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();

相关文章:

  • 2022-12-23
  • 2022-01-20
  • 2022-12-23
  • 2021-11-11
  • 2021-12-23
  • 2022-01-01
  • 2021-07-05
猜你喜欢
  • 2021-07-30
  • 2022-12-23
  • 2022-12-23
  • 2021-08-04
  • 2022-02-23
  • 2021-05-20
相关资源
相似解决方案