Come utilizzare ResultReceiver in AIDL
Domanda
Vorrei dichiarare un API del servizio asincrono in AIDL utilizzando ResultReceiver invece di creare la mia propria interfaccia di callback.
Ma quando provo ad importare android.os.ResultReceiver, che non sa che è ResultReceiver Parcelable. C'è un trucco?
Esempio:
import android.os.ResultReceiver;
interface IPrimeService {
int computePrimes(in int number, in ResultReceiver resultReceiver);
}
Risultati a (Android 2.2):
IPrimeService.aidl:3: couldn't find import for class android.os.ResultReceiver
Sembra che se creo ResultReceiver.aidl in src / android / os nel mio progetto come:
package android.os;
parcelable ResultReceiver;
funziona, ma che sembra un tale hack. C'è un modo migliore?
Grazie, Eric
Soluzione
Mi sono imbattuto in un problema simile .. Ho modificato /platform/android-<#>/framework.aidl per includere la riga
parceable android.os.ResultReceiver;
e quindi funziona
di credito: http://amdroid.ampache.org/?p=38
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow