我一直試圖通過當前的Air應用程序啓動單獨的Air應用程序。在Air 2.0應用程序中啓動Air 2.0應用程序
這兩個應用程序都使用Adobe Air 2.0 SDK進行編譯。
到目前爲止,我發現的方法還包括除了應用程序ID之外還傳遞了發佈者ID,但是我相信發佈者ID在Air 1.5.3之後變得多餘了嗎?
下面是我目前的實現,它似乎正確地確定了Air Application的版本號,但是當我嘗試啓動它時,似乎沒有任何事情發生。
private static var _air:Object;
private static var _loader:Loader;
private static var appID:String = "someOtherAirApplication";
private static var pubID:String = NativeApplication.nativeApplication.publisherID;
public static function loadAir() : void
{
_loader = new Loader();
var loaderContext:LoaderContext = new LoaderContext();
loaderContext.applicationDomain = ApplicationDomain.currentDomain;
_loader.contentLoaderInfo.addEventListener(Event.INIT,onInit);
_loader.load(new URLRequest("http://airdownload.adobe.com/air/browserapi/air.swf"),loaderContext);
}
private static function onInit(event:Event) : void
{
_air = event.target.content;
//the pubID argument resolves to and empty string ""
_air.getApplicationVersion(appID, pubID, versionDetectCallback);
}
private static function versionDetectCallback(version:String) : void
{
if(version != null)
{
_air.launchApplication(appID,pubID);
}
}
我已經在我試圖加載允許瀏覽器調用應用程序更改應用程序-config.xml中(應用程序描述符)。
我嘗試加載的應用程序的應用程序描述符的版本號是versionDetectCallback似乎拾取的「V1」。如果是這種情況,我希望能夠啓動它,但似乎並非如此。
任何想法?
啓動他們自己的應用程序,如果這適用於您,請分享腳本。謝謝。和imho如果試圖找到其他方式將有趣使用系統bash文件/ bat文件來運行外部的東西。 – Eugene 2010-09-02 09:53:51