2

我正在尝试让一个应用程序在 android 上作为服务运行,其他需要与之通信的应用程序将被分发。

它已被实现为服务,并且在将客户端应用程序打包在同一个应用程序中时运行良好。

但是,在http://developer.android.com/guide/developing/tools/aidl.html之后,我在为客户端应用程序工作时遇到了问题,特别是该行

“在您的 ServiceConnection.onServiceConnected() 实现中,您将收到一个 IBinder 实例(称为服务)。调用 YourInterfaceName.Stub.asInterface((IBinder)service) 将返回的参数转换为 YourInterface 类型。”

由于应用程序是单独分发的,我无权访问 YourInterfaceName 并将其复制到客户端应用程序肯定感觉像是“错误的方式”

如果有人可以提供指向文档/书籍/源代码的指针,这将非常有帮助,谢谢

(原谅我的讽刺意味,有点开玩笑)

4

3 回答 3

2

“Pro Android 2”一书在 AIDL 上有一个不错的例子......

于 2010-12-06T01:44:58.230 回答
0

应用程序之间究竟需要什么通信?

如果是数据,那么你可以看看ContentProvider

您还可以通过Intent.putExtra.

于 2010-12-05T22:08:23.433 回答
0

您必须将 Binder IPC 的客户端执行到客户端项目的代码部分复制(或以其他方式包含或重写)。

于 2010-12-05T23:04:14.890 回答