最終的に、ブラウザから AIR ネイティブ インストーラー デスクトップ アプリを起動する方法を見つけましたが、引数が渡されません。
これをネイティブ インストーラー アプリに追加しました ( http://livedocs.adobe.com/flex/3/html/help.html?content=app_launch_1.htmlから)
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
invoke="onInvoke(event)">
<mx:Script>
<![CDATA[
import flash.events.InvokeEvent;
import flash.desktop.NativeApplication;
public function onInvoke(invokeEvent:InvokeEvent):void {
var now:String = new Date().toTimeString();
logEvent("Invoke event received: " + now);
if (invokeEvent.currentDirectory != null){
logEvent("Current directory=" + invokeEvent.currentDirectory.nativePath);
} else {
logEvent("--no directory information available--");
}
if (invokeEvent.arguments.length > 0){
logEvent("Arguments: " + invokeEvent.arguments.toString());
} else {
logEvent("--no arguments--");
}
}
public function logEvent(entry:String):void {
log.text += entry + "\n";
trace(entry);
}
]]>
(etc.)
アプリはこのメソッドから正常に起動されます
private function onButtonClicked(e:Event):void {
var APP_ID:String = "my_app";
var PUB_ID:String = "";
var ARGS:Array = ["123", "abc"];
_air.launchApplication( APP_ID,PUB_ID, ARGS );
}
logEvent は、Invoke イベントを受信したことを示していますが、常に「--引数なし--」と表示されます。
私は何を間違っていますか?