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

È stato utile?

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
scroll top