Могу ли я поддерживать NativeProcess AIR после того, как само приложение AIR существует? - PullRequest
2 голосов
/ 17 октября 2011

Моя потребность проста - я хочу запустить внешнее приложение из своего приложения AIR, оставив внешнее приложение работающим, пока само приложение AIR завершается.

Сценарий - это кнопка «Установить» внутри приложения,который запускает сторонний установщик - приложение AIR необходимо закрыть во время этого процесса.

Мой код для фактического запуска объекта NativeProcess в порядке, процесс запускается и может использоваться.Однако если пользователь закрывает приложение AIR вручную или я пытаюсь закрыть приложение AIR после запуска внешнего процесса с помощью ActionScript, внешнее приложение существует практически сразу.

Пример кода:

var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
nativeProcessStartupInfo.executable = File.applicationDirectory.resolvePath("My Great Application");
var process:NativeProcess = new NativeProcess();
process.start(nativeProcessStartupInfo);

// Either one of the two calls following will fail with the same result
NativeApplication.nativeApplication.exit()
this.nativeWindow.close();

Я также попробовал другой подход, чтобы сохранить внешнее приложение открытым после того, как приложение AIR существует, используя своего рода прокси.На Mac я использую команду /usr/bin/open./usr/bin/open открывает внешнее приложение и оставляет его работающим после того, как приложение AIR существует, однако при этом подходе на экране появляется окно терминала, и это также неприемлемо.

var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
nativeProcessStartupInfo.executable = new File("/usr/bin/open");
var args:Vector.<String> = new Vector.<String>();
args.push(file.nativePath);
nativeProcessStartupInfo.arguments = args;
var process:NativeProcess = new NativeProcess();
process.start(nativeProcessStartupInfo);

Любые мысли по этой проблеме?Я хотел бы просто запустить внешнее приложение напрямую, а не через прокси, так как это снизит сложность между платформами развертывания.

1 Ответ

0 голосов
/ 31 мая 2012

А как насчет сворачивания приложения?

NativeApplication.nativeApplication.activeWindow.minimize();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...