Android 如何在AIDL中使用ResultReceiver

Android 如何在AIDL中使用ResultReceiver,android,aidl,Android,Aidl,我想使用ResultReceiver在AIDL中声明一个异步服务API,而不是创建自己的回调接口 但是当我尝试导入android.os.ResultReceiver时,它不知道ResultReceiver是可打包的。有把戏吗 例如: import android.os.ResultReceiver; interface IPrimeService { int computePrimes(in int number, in ResultReceiver resultReceiver);

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

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

例如:

import android.os.ResultReceiver;

interface IPrimeService {
    int computePrimes(in int number, in ResultReceiver resultReceiver);
}
结果(Android 2.2):

如果我在我的项目中的src/android/os中创建ResultReceiver.aidl,就像:

package android.os;

parcelable ResultReceiver;
这是可行的,但这看起来像是一个黑客。有更好的办法吗


谢谢,埃里克我遇到了类似的问题。。我编辑了/platform/android-/framework.aidl以包含该行

可打包的android.os.ResultReceiver

然后它就起作用了

学分:

package android.os;

parcelable ResultReceiver;