Ich habe eine Anwendung geschrieben, die einige Audiosignale aufzeichnet. Dieses Signal muss von einem Plug-in verarbeitet werden, das auf meinem Gerät installiert ist. Für die Kommunikation zwischen der Hauptanwendung und dem Plug-In verwenden wir eine Hilfelösung.Aidl Ergebnis über Rückruf
Wie ich zu diesen Schnittstellen neu bin, frage ich mich, wenn die folgende wäre für das Plug-in arbeiten, um ein Ergebnis zu meiner Hauptanwendung zurückzukehren:
ich eine Schnittstelle geschaffen:
public interface MainAppCallback {
public void onResult(String result);
}
I implementieren es in meinem Aufnahme Thread:
MainAppCallback callback = new MainAppCallback() {
@Override
public void onResult(String result) {
// Add result to member variable of recording thread
}
};
in meiner AIDL Schnittstelle, definierte ich die Methoden für die Plug-in:
/** Callback to send results to main application
*/
void registerCallback(MainAppCallback callback);
/** The code is documentation enough
*/
void unregisterCallback();
ich dann etwas wie dies in meinem Aufnahme Thread tun:
PlugIn.registerCallback(callback);
Ist dies der richtige Weg zu gehen, oder Mache ich hier etwas falsch?
Früher und vollständige Codestruktur beantwortet : http://stackoverflow.com/a/34217138/3451697 – harneev