2016-07-28 4 views
0

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?

+0

Früher und vollständige Codestruktur beantwortet : http://stackoverflow.com/a/34217138/3451697 – harneev

Antwort