J'ai un Service qui communique via AIDL. J'ai avec succès créé une interface de rappel et utilise une classe qui implémente Parcelable.
Je veux que le Parcelable contienne une référence à l'interface définie dans le fichier AIDL mais j'obtiens l'erreur que ma classe de rappel ne peut pas être convertie en Parcelable. "types incompatibles: ICallback ne peut pas être converti en Parcelable"
Mon Parcelable ressemble à ceci
class Foo implements Parcelable {
String someString;
ICallback callback;
....
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(someString);
dest.writeParcelable(callback, flags); //ne fonctionne pas
}
}
Le AIDL pour le service a une méthode comme:
void register(Foo[] someFoos);