我的需要很简单——我希望从我的AIR申请中启动外部应用,使外部应用在AIR申请本身退出时运作。
The scenario is an "Install" button inside the application, that launches the 3rd party installer - the AIR application needs to close during this process.
我实际上发射土著文物的守则是罚款、程序发射和使用。 然而,如果用户手工关闭AIR应用系统,或者如果我在通过行动文本启动外部程序之后试图关闭AIR应用程序,则外部应用几乎立即存在。
Some example code:
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的Im,/usr/bin/open
的Im, 开放外部应用,并在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);
对这一问题有何看法? 我只想直接启动外部应用,而不是使用代理,因为这将缩小部署平台之间的复杂程度。