0

我想使用 ResultReceiver 在 AIDL 中声明一个异步服务 API,而不是创建自己的回调接口。

但是当我尝试导入 android.os.ResultReceiver 时,它不知道 ResultReceiver 是可打包的。有诀窍吗?

例子:

import android.os.ResultReceiver;

interface IPrimeService {
    int computePrimes(in int number, in ResultReceiver resultReceiver);
}

结果(Android 2.2):

IPrimeService.aidl:3: couldn't find import for class android.os.ResultReceiver

似乎如果我在项目中的 src/android/os 中创建 ResultReceiver.aidl,例如:

package android.os;

parcelable ResultReceiver;

它有效,但这似乎是一个黑客。有没有更好的办法?

谢谢,埃里克

4

1 回答 1

2

我遇到了类似的问题。我编辑了 /platform/android-<#>/framework.aidl 以包含该行

Parceable android.os.ResultReceiver;

然后它工作

信用:http ://amdroid.ampache.org/?p=38

于 2010-12-29T06:02:11.817 回答