【问题标题】:Launching an Air Application from the browser从浏览器启动 Air 应用程序
【发布时间】:2010-07-06 20:30:51
【问题描述】:

我正在努力将空中应用程序与 Web 应用程序集成,并且大部分情况下它都可以工作。

我遇到的唯一问题是,当我尝试从启动徽章传递变量时,应用程序无法加载,并且我的 swf 没有错误。

这是我当前的代码库:

启动徽章 AS:

package {
import flash.display.*;
import flash.events.*;
import flash.geom.ColorTransform;
import flash.net.URLRequest;
import flash.system.*;
import flash.text.TextField;

// AIRBadge is our main document class
public class LaunchApplication extends MovieClip {

    public function LaunchApplication() {

        _loader = new Loader();
        var loaderContext:LoaderContext = new LoaderContext();
        loaderContext.applicationDomain = ApplicationDomain.currentDomain;

        _loader.contentLoaderInfo.addEventListener(Event.INIT, onInit);
        _loader.load(new URLRequest(BROWSERAPI_URL_BASE + "/air.swf"), loaderContext);

        var parameters:Object = LoaderInfo(this.root.loaderInfo).parameters;
        _applicationID = parameters["applicationID"];
        _arguments = String(parameters["arguments"]).split(",");

    }

    private function onInit(e:Event):void {
        _air = e.target.content;
        switch (_air.getStatus()) {
            case "installed" :
                statusMessage.text = "AIR is installed and has been detected."
                launchButton.addEventListener(MouseEvent.CLICK,onButtonClicked);
                break;
            case "available" :
                // AIR is Available
                statusMessage.text = "AIR is not installed - application cannot be launched."
                break;
            case "unavailable" :
                // AIR Not Available
                statusMessage.text = "AIR is not installed - application cannot be launched."
                break;
        }
    }

    private function onButtonClicked(e:Event):void {

        statusMessage.text = "Attempting to Launch AIR Application";
        trace(_applicationID);
        _air.launchApplication(_applicationID,_arguments);

    }

    private const BROWSERAPI_URL_BASE: String = "http://airdownload.adobe.com/air/browserapi";

    private var _applicationID:String;
    private var _arguments: Array;

    private var _loader:Loader;
    private var _air:Object;

}

}

Javascript:

<script type="text/javascript">
var so = new SWFObject("launchMovie.swf", "badge", "250", "75", "9.0.115", "#FFFFFF");
so.addVariable( "applicationID", "com.testapp.test");
so.addVariable( "arguments", "123");
so.write("flashcontent");
</script>

【问题讨论】:

    标签: apache-flex flash air


    【解决方案1】:

    您是否检查过 AIR 项目中的 *-app.xml 文件并设置为 true?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-11
      • 1970-01-01
      • 2011-02-12
      • 1970-01-01
      • 2011-06-05
      • 2016-08-23
      相关资源
      最近更新 更多