跨app执行bindservice

Posted KKKEr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跨app执行bindservice相关的知识,希望对你有一定的参考价值。

在同一个app内,bindservice传入的intent一般通过class生成。例如Intent intent = new Intent(mContext, MyService.class);

但是在跨APP进行bindservice的时候,intent需要通过service的action以及Component来获得。例如:

Intent intent = new Intent("com.my.server.memserver");
intent.setComponent(new ComponentName("com.my.server.memserver", "com.my.server.memserver.MmemServer"));


同时需要注意的是,aidl文件的位置要和server的位置保持一致。
比如server端的aidl文件的位置是com.my.server目录下,那么在client端aidl文件的位置也要在这个目录下。否则就会出现找不到的问题出现

以上是关于跨app执行bindservice的主要内容,如果未能解决你的问题,请参考以下文章

Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题

Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题

bindService 来自其他应用程序但相同的用户 ID/进程

Grails - 跨控制器代码,在每个请求上执行

bindService

Android使用bindService作为中间人对象开启服务