Ich verwende C++ Builder 10.1 Berlin, um eine Android-App zu entwickeln, die Barcodes scannt. Um dies zu tun, ich rufe andere app (ZXing), wenn der Benutzer auf eine Schaltfläche in meiner app klickt, wie folgt aus:C++ Builder - Ergebnis einer Aktivität abrufen
_di_JIntent intent;
if(Global->ClipService != NULL){
Global->ClipService->SetClipboard(TValue::_op_Implicit(NULL));
intent = TJIntent::Create();
intent->setAction(StringToJString("com.google.zxing.client.android.SCAN"));
SharedActivity()->startActivityForResult(intent,0);
scanCalled = true;
}
else{
ShowMessage("Presse Papier non disponible!");
}
den Lese Barcode zu erhalten, verwende ich die Zwischenablage Service. Bis jetzt war es genug für mich.
Jetzt möchte ich den Typ des Barcodes erhalten. Ich muss Androids onActivityResult
Ereignis behandeln. Ich fand eine Lösung in Delphi, aber ich bin nicht in der Lage, es zu C++ zu übersetzen:
Launching activities and handling results in Delphi XE6 Android apps
Insbesondere der Abschnitt "Communication from the launched activity" betitelt.
In der Tat, die Funktion TMessageManager.DefaultManager.SubscribeToMessage()
benötigt eine TMessageListener
in C++, aber ich weiß nicht, wie man es benutzt.
Danke für die Antwort Remy! – Dylan