Noch ein Hinweis, innerhalb der mxBreceiverReceive müssen alle Verarbeitungen in einem Thread ausgeführt werden, sonst gibt es Probleme:
Delphi-Quellcode:
procedure TmxBCD.mxBreceiverReceive(Context: JContext; Intent: JIntent);
begin
tThread.CreateAnonymousThread(procedure begin
internal_mxBreceiverReceive(Context, Intent);
end).start;
end;
procedure TmxBCD.internal_mxBreceiverReceive(Context: JContext; Intent: JIntent);
var
vInput:String;
begin
if ansisametext(JStringToString(intent.getAction), 'org.mein.intent.name') then begin
// jetzt haben wir etwas erhalten
vInput:=JStringToString(intent.getStringExtra(StringToJString(DATAWEDGE_DATA_STRING)));
vInput:=trim(vInput);
dolog('*receive*'+vinput+'*');
// jetzt prüfen, ist das was angekommen ist eine Funktion oder muss ich ein Textfeld füllen?
end else begin
doLog('*unknown_action*'+JStringToString(Intent.getAction)+'*');
end;
end;