W lazarusie zastosował jIntentManager ktorego w delphi nie ma, wywolanie
jIntentManager1.SetAction('com.google.zxing.client.android.SCAN');
if jIntentManager1.IsCallable(jIntentManager1.GetIntent()) then
begin
jIntentManager1.PutExtraString('SCAN_FORMATS', ACodeType);
jIntentManager1.StartActivityForResult(0);
end else
begin
ShowMessage('Wymagana aplikacja skanera kodów kreskowych...');
jIntentManager1.SetAction(jIntentManager1.GetActionViewAsString());
jIntentManager1.SetDataUri(jIntentManager1.ParseUri('market://search?q=barcode+scanner'));
jIntentManager1.StartActivity();
gApp.Finish;
end;
i na glownej formie jest zdarzenie on ActivityResult
procedure TMainModule.MainModuleActivityResult(Sender: TObject;
requestCode: integer; resultCode: TAndroidResult; intentData: jObject);
if (requestCode = 0) then
begin
(..._)
sBarCode := jIntentManager1.GetExtraString(intentData, 'SCAN_RESULT');
i(....)
i to chce do delphi przezrzucić.
Pozdrawiam
P.