0

在 AIDL 指南(http://developer.android.com/guide/components/aidl.html)中,它提到所有原语都是“in”参数。但是,我想创建一个原始参数,它是一个“输出”变量,即服务器将为我设置它。

除了创建我自己的 Parcelable 原语并自己完成所有工作之外,是否有解决此问题的方法?我已经尝试过原语的类版本(整数、布尔值等),但这些似乎不起作用:(

谢谢,J

4

2 回答 2

1

进程之间允许使用 AIDL(服务器可能在另一个应用程序中完全在另一个 VM 中运行),因此您不能发送任何无法实现可解析的内容,除了 Google 特殊情况下的那些内容(如列表)。而且由于 Java 仅对原语按值传递,因此这些将不起作用。一种可能的解决方法是使用值列表作为输出参数,但我不确定它是否有效(从未尝试过)。但是编写自己的简单包装器并不难。

于 2013-03-25T05:23:14.457 回答
0

其他一些选项:

1)如果你只需要设置一个参数,你可以只返回参数

2) 定义返回参数的回调函数

于 2015-09-10T01:14:42.790 回答