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 に答える