以编程方式关闭AIR应用程序

Phi*_*hil 5 apache-flex air shutdown flex-spark

我想知道以编程方式关闭AIR应用程序的正确方法.

在我的Spark WindowedApplication中,我有:

this.addEventListener( Event.CLOSING, shutdownApp );
Run Code Online (Sandbox Code Playgroud)

当然还有shutdownApp方法的实现(它基本上整理了临时文件).

这适用于窗口的右上角关闭按钮.但是我也有需要关闭应用程序的功能.在我调用的代码中:

NativeApplication.nativeApplication.exit();
Run Code Online (Sandbox Code Playgroud)

但是,这不会触发Event.CLOSING方法,因此我的临时文件不会被清除.我不应该调用nativeApplication.exit吗?如果是这样,我该怎么称呼呢?我宁愿不必在NativeApplication.exit()之前调用我的shutdownApp方法,因为这不太优雅.

任何人都可以对正确的做法有所了解吗?

谢谢,

菲尔

Dal*_*ser 7

我知道这个问题已得到回答和接受,但我想我会分享,我会用.

stage.nativeWindow.close();
Run Code Online (Sandbox Code Playgroud)


Jef*_*ser 4

该文档在这方面看起来有点含糊,我的解释与您相同。您是否尝试过WindowedApplication 上的close或 exit 方法?

像这样,使用FlexGlobals和 topLevelApplication:

(FlexGlobals.topLevelApplication as WindowedApplication).close();
Run Code Online (Sandbox Code Playgroud)

或者

(FlexGlobals.topLevelApplication as WindowedApplication).exit();
Run Code Online (Sandbox Code Playgroud)