Или надо самому определять наличие программы и вместо запуска сканирования открывать ссылку на приложение?
P.S. Если Barcode scanner удалить, то запускается Google Now, сканирует нормально, но результат не возвращается. Как понимаю, строка (com.google.zxing.client.android.SCAN) для него нужна иная?
function TMainForm.CheckBarcode :boolean;
var
list : TStringList;
begin
Result := true;
{$IFDEF Android}
if BarcodeChecked then exit;
list := TAndroidHelperClass.getListOfApplications();
if list = nil then exit;
try
if not (list.Text.Contains('com.google.zxing.client.android')) then begin
Result := false;
MessageDlg('This application requires a QR code scanner application.'), TMsgDlgType.mtCustom, [TMsgDlgBtn.mbOK], 0,
procedure(const AResult: TModalResult)
begin
TAndroidHelperClass.openGooglePlayByAppPackage('com.google.zxing.client.android');
end);
exit;
end
else BarcodeChecked := true;
finally
list.Free;
end;
{$ENDIF}
end;
Доработка компонента для чтения штрих-кодов под RAD XE7
в Разработка компонентов
Опубликовано · Изменено пользователем aldi