Я вот так у себя сделал:
procedure TFormMain.CButtonScanClick(Sender: TObject);
begin
If IsAppInstalled('com.google.zxing.client.android')Then
TKRBarCodeScanner.Scan
Else
OpenURL('https://play.google.com/store/apps/details?id=com.google.zxing.client.android&hl=ru');
end;
function TFormMain.IsAppInstalled(const AAppName: string): Boolean;
var PackageManager: JPackageManager;
begin
PackageManager := SharedActivity.getPackageManager;
try
PackageManager.getPackageInfo(StringToJString(AAppName), TJPackageManager.JavaClass.GET_ACTIVITIES);
Result := True;
except
on Ex: Exception do
Result := False;
end;
end;
procedure TFormMain.OpenURL(const AUrl: string);
{$IFDEF ANDROID}
var Uri: Jnet_Uri;
OpenLinkIntent: JIntent;
{$ENDIF ANDROID}
begin
{$IFDEF MSWINDOWS}
ShellExecute(0, 'open', PChar(AUrl), nil, nil, SW_SHOWNORMAL);
{$ENDIF MSWINDOWS}
{$IFDEF ANDROID}
Uri := StrToJURI(AUrl);
OpenLinkIntent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_VIEW, Uri);
SharedActivity.startActivity(OpenLinkIntent);
{$ENDIF ANDROID}
end;