从actionscript库中检测AIR与Flash Player

Gro*_*kys 7 apache-flex air flash actionscript-3

我有一个需要稍微不同的swc,具体取决于它是否由AIR托管.我在互联网上看到了两条建议:

  • 测试WindowedApplication的Application.application.
  • 为Security.APPLICATION测试Security.sandboxType.

但是,这些似乎不适用于我的.swc,因为编译器找不到WindowedApplication或Security.APPLICATION.我的库不需要任何其他AIR功能,所以我认为它没有链接到AIR库,我认为不应该继续在flash播放器中工作.

有什么建议?

Ric*_*lay 21

您可以使用flash.system.Capabilities对象来查明是否在AIR下运行.

var isAir : Boolean = (Capabilities.playerType == "Desktop");
var isFlashPlayer : Boolean = (Capabilities.playerType == "StandAlone");
var isBrowser : Boolean = (Capabilities.playerType == "ActiveX" || Capabilities.playerType == "PlugIn");
var isOther : Boolean = (Capabilities.playerType == "External");
Run Code Online (Sandbox Code Playgroud)