Реактивный метод реагирования на пожары от IntentService

Самый простой (и даже правильный) способ - найти путь, где java.exe.

Вы можете использовать функцию FileSearch , например:

var
  Path: string;
begin
  Path := FileSearch('java.exe', GetEnv('PATH'));
  if Path = '' then
  begin
    Log('Java not found in PATH');
  end
    else
  begin
    Path := ExtractFileDir(Path);
    Log(Format('Java is in "%s"', [Path]));
  end;
end;

Если вы все еще хотите найти путь, содержащий JRE, вы можете использовать такой код:

var
  Path: string;
  JavaPath: string;
  S: string;
  P: Integer;
begin
  Path := GetEnv('PATH');
  while (Path <> '') and (JavaPath = '') do
  begin
    P := Pos(';', Path);
    if P = 0 then
    begin
      S := Trim(Path);
      Path := '';
    end
      else
    begin
      S := Trim(Copy(Path, 1, P - 1));
      Path := Trim(Copy(Path, P + 1, Length(Path) - P)); 
    end;

    if Pos('JDK', Uppercase(S)) > 0 then
    begin
      JavaPath := S;
    end;
  end;

  if JavaPath = '' then
  begin
    Log('Java not found in PATH');
  end
    else
  begin
    Log(Format('Java is in "%s"', [JavaPath]));
  end;
end;

0
задан Tamir Abutbul 20 January 2019 в 10:35
поделиться

1 ответ

Всякий раз, когда вам нужен доступ к какой-либо части Java или ObjC-кода, вам нужно создать собственный модуль. По сути, вы создадите базовый проект, использующий код Java / Android, и создадите интерфейс для использования в React Native.

См. Здесь: https://facebook.github.io/react-native/docs/native-modules-ios

0
ответ дан sfratini 20 January 2019 в 10:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: