Сам не знаю как, но получилось)))пол дня читал форумы чтобы хоть что-то понять из этого.
И методом "научного тыка" вот:
uses androidapi.helpers,
Androidapi.JNI.app,FMX.Helpers.Android,
Androidapi.JNI.GraphicsContentViewText;
var
FMessageSubscriptionID:integer;
procedure tform1.Scan1;
var
intent: JIntent;
begin
FMessageSubscriptionID := TMessageManager.DefaultManager.SubscribeToMessage(TMessageResultNotification,
HandleActivityMessage);
intent := TJIntent.Create;
intent.setAction(StringToJString('com.google.zxing.client.android.SCAN'));
SharedActivity.startActivityForResult(intent, 0);
end;
procedure TForm1.HandleActivityMessage(const Sender: TObject; const M:TMessage);
var
RequestCode, ResultCode: Integer;
Intent: JIntent;
s:string;
begin
if not(M is TMessageResultNotification) then exit;
TMessageManager.DefaultManager.Unsubscribe(TMessageResultNotification, FMessageSubscriptionID);
FMessageSubscriptionID := 0;
RequestCode:=TMessageResultNotification(M).RequestCode;
ResultCode:=TMessageResultNotification(M).ResultCode;
Intent:=TMessageResultNotification(M).Value;
if ResultCode = TJActivity.JavaClass.RESULT_OK then
begin
if Assigned(Intent) then
begin
s:=JStringToString(intent.getStringExtra(StringToJString('SCAN_RESULT'))); //получил результат со сканера
convert(s); //использовал результат со сканера в своей процедуре
end;
end
else if ResultCode = TJActivity.JavaClass.RESULT_CANCELED then
begin
//Memo1.Lines.Append('RESULT_CANCELED');
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
scan1; //запуск сканеровки;
end;
Не знаю правильно ли это все будет работать, но во всяком случае приложение не виснит(пока) и что хотел получил.
Slym'у большое спасибо за наводку.
Если кто знает что нужно добавить\исправить для гарантированно стабильной(без сюрпризов в дальнейшем) работы кода, буду благодарен.