2010-12-28 6 views
0

Ich möchte eine asynchrone Dienst-API in AIDL mit ResultReceiver deklarieren, anstatt meine eigene Callback-Schnittstelle zu erstellen.So verwenden Sie ResultReceiver in AIDL

Aber wenn ich versuche, android.os.ResultReceiver zu importieren, weiß es nicht, dass ResultReceiver parzellierbar ist. Gibt es einen Trick?

Beispiel:

import android.os.ResultReceiver; 

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

Ergebnisse in (Android 2.2):

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

Es scheint, wenn ich ResultReceiver.aidl in src/android/o In meinem Projekt wie erstellen:

package android.os; 

parcelable ResultReceiver; 

es funktioniert, aber das scheint so ein Hack. Gibt es einen besseren Weg?

Danke, Eric

Antwort

2

ich in ein ähnliches Problem lief .. I edited/platform/Android- < #>/framework.aidl die Linie

parceable android.os.ResultReceiver aufzunehmen;

und dann funktioniert es

Kredit: http://amdroid.ampache.org/?p=38