NativeApplication について
・ | NativeApplication クラスについて |
・ | アプリケーション情報を取得する |
・ | AIR ランタイム情報を取得する |
・ | ログイン後に AIR アプリを自動実行する |
・ | AIR アプリ起動時の引数を取得する |
・ | AIR アプリケーションを終了する |
・ | AIR アプリとファイル拡張子を関連付ける |
・ | ユーザーが操作していないアイドル状態か調べる |
・ | グローバルアプリケーションメニューを使用する |
NativeApplication クラスについて
■NativeApplication クラスについて
NativeApplication クラスは、Adobe AIR アプリケーションに関する機能がまとまっています。
■NativeApplication オブジェクトを取得する
NativeApplication.nativeApplication プロパティに、「NativeApplication オブジェクト」が格納されています。
ここから様々なプロパティやメソッドにアクセスします。
NativeApplication オブジェクトを取得する
import flash.desktop.NativeApplication;
var app : NativeApplication = NativeApplication.nativeApplication;
アプリケーション情報を取得する
■アプリケーション記述ファイルを取得
「アプリケーション記述ファイル」を取得するには、applicationDescriptor プロパティを使用します。
アプリケーション記述ファイルを取得
import flash.desktop.NativeApplication;
var app:NativeApplication = NativeApplication.nativeApplication;
trace("アプリケーション記述ファイル:\n" + app.applicationDescriptor );
■アプリケーションIDを取得
「アプリケーションID」を取得するには applicationID プロパティを使用します。
アプリケーションIDを取得
import flash.desktop.NativeApplication;
var app:NativeApplication= NativeApplication.nativeApplication;
trace("アプリケーションID:" + app.applicationID );
■発行者IDを取得
「発行者ID」を取得するには publisherID プロパティを使用します。
発行者IDを取得
import flash.text.TextField;
import flash.desktop.NativeApplication;
// テキストフィールドを作成
var text_field:TextField = new TextField();
text_field.x = 10;
text_field.y = 10;
text_field.width = stage.stageWidth - 20;
text_field.height = 20;
text_field.border = true;
stage.addChild(text_field);
var app:NativeApplication = NativeApplication.nativeApplication;
text_field.text = "発行者ID:" + app.publisherID;
■Adobe AIR 1.5.3 未満の場合
Adobe AIR 1.5.3 未満の場合、AIR ファイルのインストール時に、インストーラーが「発行者 ID」を生成します。
このプロパティは ADL 上では取得できません。
■Adobe AIR 1.5.3 以降の場合
Adobe AIR 1.5.3 以降の場合、「発行者 ID」 は非推奨となりました。「発行者 ID」は、インストーラーから自動的に生成される事はありません。
「発行者 ID」は、「アプリケーション記述ファイル」に <publisherID> タグを手動で追加することで埋め込む事が可能です。
「発行者 ID」の追加は、Adobe AIR 1.5.3 未満で作成したアプリケーションを、AIR 1.5.3 以降にアップデートする目的でのみ使用するようです。
アプリケーション記述ファイルに、publisherID タグを追加する
<?xml version ="1.0" encoding="utf-8" ?>
<application xmlns="http://ns.adobe.com/air/application/2.0">
~略~
<publisherID>9EA885A8B1B37E8D7AE877C3D31473E1A2278ECC.1</publisherID>
</application>
AIR ランタイム情報を取得する
■ランタイムのバーションを取得
「ランタイムのバーション」を取得するには runtimeVersion プロパティを使用します。
ランタイムのバーションを取得
import flash.text.TextField;
import flash.desktop.NativeApplication;
// テキストフィールドを作成
var text_field:TextField = new TextField();
text_field.x = 10;
text_field.y = 10;
text_field.width = stage.stageWidth - 20;
text_field.height = 20;
text_field.border = true;
stage.addChild(text_field);
var app:NativeApplication = NativeApplication.nativeApplication;
text_field.text = "ランタイムのバーション:" + app.runtimeVersion;
■ランタイムのパッチレベルを取得
「ランタイムのパッチレベル」を取得するには runtimePatchLevel プロパティを使用します。
ランタイムのパッチレベルを取得
import flash.text.TextField;
import flash.desktop.NativeApplication;
// テキストフィールドを作成
var text_field:TextField = new TextField();
text_field.x = 10;
text_field.y = 10;
text_field.width = stage.stageWidth - 20;
text_field.height = 20;
text_field.border = true;
stage.addChild(text_field);
var app:NativeApplication = NativeApplication.nativeApplication;
text_field.text = "ランタイムのパッチレベル:" + app.runtimePatchLevel;
ログイン後に AIR アプリを自動実行する
■ログイン後の自動実行に対応しているか調べる
ログイン後の自動実行に対応しているか調べるには、NativeApplication.supportsStartAtLogin プロパティを使用します。
true であれば、ログイン直後にAIRアプリケーションを自動実行する事が可能です。
この確認用のプロパティは、Adobe AIR 2.0 以降で利用可能です。
モバイルなどの環境で動作させる場合、ログイン後の自動実行に対応していない事があります。
ログイン後の自動実行に対応しているか調べる
import flash.text.TextField;
import flash.desktop.NativeApplication;
// テキストフィールドを作成
var text_field:TextField = new TextField();
text_field.x = 10;
text_field.y = 10;
text_field.width = stage.stageWidth - 20;
text_field.height = 20;
text_field.border = true;
stage.addChild(text_field);
text_field.text = "ログイン後の自動実行をサポート:" + NativeApplication.supportsStartAtLogin;
■ログイン後に AIR アプリを自動実行する
ログイン後に AIR アプリを自動実行するには、startAtLogin プロパティに true をセットします。
ログイン後に AIR アプリを自動実行する
import flash.desktop.NativeApplication;
// ログイン後の自動実行に対応している
if(NativeApplication.supportsStartAtLogin){
var app:NativeApplication = NativeApplication.nativeApplication;
// ログイン後に AIR アプリを自動実行する
app.startAtLogin = true;
}
AIR アプリ起動時の引数を取得する
■AIR アプリ起動時のコマンドライン引数を取得する
コマンドライン引数を取得するには、InvokeEvent.INVOKE イベントを使用します。
引数から、InvokeEvent オブジェクトが得られます。
すでに引数が渡されている場合でも、関数を登録した時点でまとめて取得できます。
コマンドライン引数を取得する
import flash.desktop.NativeApplication;
import flash.events.InvokeEvent;
var app:NativeApplication = NativeApplication.nativeApplication;
// コマンドライン引数を取得するイベント
app.addEventListener(InvokeEvent.INVOKE , function (e:InvokeEvent):void{
});
■InvokeEvent クラスのプロパティについて
InvokeEvent クラスが持つ、読み取り専用のプロパティの一覧です。
プロパティ名 | 型 | 説明 |
arguments | Array | 引数データ(文字列が格納された配列) |
currentDirectory | File | カレントディレクトリ情報 |
reason | String | 起動理由について(Adobe AIR 1.5.1以降) |
■起動理由について(reason プロパティ)(Adobe AIR 1.5.1以降)
起動理由として、以下の文字列が格納されています。
文字列 | 説明 |
"LOGIN" | ログイン後に AIR アプリが自動実行された |
"STANDARD" | その他の理由 |
取得例です。
InvokeEvent オブジェクトから得られる情報を出力する
import flash.text.TextField;
import flash.desktop.NativeApplication;
import flash.events.InvokeEvent;
import flash.filesystem.File;
// テキストフィールドを作成し、ステージ全体に配置
var text_field:TextField = new TextField();
text_field.width = stage.stageWidth;
text_field.height = stage.stageHeight;
stage.addChild(text_field);
var app:NativeApplication = NativeApplication.nativeApplication;
// コマンドライン引数を取得するイベント
app.addEventListener(InvokeEvent.INVOKE , function (e:InvokeEvent):void{
var i:int;
var num:int;
var str:String = "";
// 引数データを出力
var arguments:Array = e.arguments;
num = arguments.length;
str += "[引数]\n";
for(i=0;i < num;i++){
str += "[" + i + "]" + " " + arguments[i] + "\n";
}
// カレントディレクトリ情報を出力
var current_dir:File = e.currentDirectory;
str += "\n[カレントディレクトリ]\n";
str += current_dir.nativePath + "\n";
// 起動理由を出力
var reason:String = e.reason;
str += "\n[起動理由]\n";
str += reason + "\n";
text_field.text = str;
});
■ブラウザから、AIR アプリ起動時に渡される引数を取得する
ブラウザから AIR アプリ起動時に渡される引数を取得するには、BrowserInvokeEvent.BROWSER_INVOKE イベントを使用します。
引数から、BrowserInvokeEvent オブジェクトが得られます。
すでに引数が渡されている場合でも、関数を登録した時点でまとめて取得できます。
ブラウザから、AIR アプリケーションを起動する方法は、こちらで解説しています。
ブラウザから AIR アプリ起動時に渡される引数を取得する
import flash.desktop.NativeApplication;
import flash.events.BrowserInvokeEvent;
var app:NativeApplication = NativeApplication.nativeApplication;
// ブラウザから AIR アプリ起動時に渡される引数を取得するイベント
app.addEventListener(BrowserInvokeEvent.BROWSER_INVOKE , function (e:BrowserInvokeEvent):void{
});
■BrowserInvokeEvent クラスのプロパティについて
BrowserInvokeEvent クラスが持つ、読み取り専用のプロパティの一覧です。
プロパティ名 | 型 | 説明 |
arguments | Array | 引数データ(文字列が格納された配列)、ブラウザから引数の指定が無い場合は null |
isHTTPS | Boolean | 「HTTPS URL スキーム」を使用している場合は true、それ以外は false |
isUserEvent | Boolean | マウスクリックなどのユーザーの操作を経て起動したか |
sandboxType | String | サンドボックスタイプ |
securityDomain | String | セキュリティドメイン情報 |
■サンドボックスタイプ(sandboxType プロパティ)
サンドボックスタイプとして、Security.* 定数が定義されています。
定数 | 文字列 | 説明 |
Security. | "localTrusted" | 信頼できるファイルとして「Flash Player 設定マネージャ」か、"FlashPlayerTrust" 構成ファイルにより登録されています。 |
Security. | "localWithFile" | ローカル上で動作しています。「ローカルファイルにのみアクセスする」が選択されています。 |
Security. | "localWithNetwork" | ローカル上で動作しています。「ネットワークにのみアクセスする」が選択されています。 |
Security. | "remote" | インターネット上で動作しています。 |
Security. | "application" | AIR アプリケーション上で動作しています。 |
取得例です。
BrowserInvokeEvent オブジェクトから得られる情報を出力する
import flash.text.TextField;
import flash.desktop.NativeApplication;
import flash.events.BrowserInvokeEvent;
import flash.filesystem.File;
// テキストフィールドを作成し、ステージ全体に配置
var text_field:TextField = new TextField();
text_field.width = stage.stageWidth;
text_field.height = stage.stageHeight;
stage.addChild(text_field);
var app:NativeApplication = NativeApplication.nativeApplication;
// ブラウザから AIR アプリ起動時に渡される引数を取得するイベント
app.addEventListener(BrowserInvokeEvent.BROWSER_INVOKE , function (e:BrowserInvokeEvent):void{
var i:int;
var num:int;
var str:String = "";
// 引数データを出力
var arguments:Array = e.arguments;
if(arguments){
num = arguments.length;
str += "[引数]\n";
for(i=0;i < num;i++){
str += "[" + i + "]" + " " + arguments[i] + "\n";
}
}
// https スキーム情報を出力
str += "\n[https スキーム]\n" + e.isHTTPS + "\n";
// ユーザーイベント情報を出力
str += "\n[ユーザーイベント]\n" + e.isUserEvent + "\n";
// サンドボックスタイプ情報を出力
str += "\n[サンドボックスタイプ]\n" + e.sandboxType + "\n";
// セキュリティドメイン情報を出力
str += "\n[セキュリティドメイン]\n" + e.securityDomain + "\n";
text_field.text = str;
});
AIR アプリケーションを終了する
■プログラムから AIR アプリケーションを終了する
プログラムから AIR アプリケーションを終了するには、exit() メソッドを使用します。
エラーコードを通知したい場合、引数に好きな数値を int 型で指定します。(デフォルトは 0)
AIR アプリケーションを終了する
import flash.desktop.NativeApplication;
var app:NativeApplication = NativeApplication.nativeApplication;
// AIR アプリケーションを終了する
app.exit(0);
■すべてのウィンドウが閉じられた時点で AIR アプリケーションを終了する
「すべてのウィンドウが閉じられた時に、AIR アプリケーションを終了する」ように設定するには、autoExit プロパティに true をセットします。
true の場合、「すべてのウィンドウが閉じられた」時点で AIR アプリケーションが終了します。
false の場合、すべてのウィンドウが閉じられても AIR アプリケーションは終了しません。
任意のタイミングで、exit() メソッドを呼び出して、終了する必要があります。
すべてのウィンドウが閉じられた時に、AIR アプリケーションを終了するように設定する
import flash.display.NativeWindow;
import flash.desktop.NativeApplication;
// ネイティブウィンドウが利用可能
if(NativeWindow.isSupported){
var app:NativeApplication = NativeApplication.nativeApplication;
// すべてのウィンドウが閉じられた時に自動終了するかを設定
app.autoExit = true;
}
■AIR アプリケーションが終了する瞬間を調べる
AIR アプリケーションが終了する瞬間を調べるには、Event.EXITING イベントを使用します。
AIR アプリケーションの終了をキャンセルしたい場合は、引数から得られる Event オブジェクトの preventDefault() メソッドを実行します。
AIR アプリケーションが終了する瞬間を調べる
import flash.events.Event;
import flash.desktop.NativeApplication;
var app:NativeApplication = NativeApplication.nativeApplication;
// AIR アプリケーションが終了中に実行されるイベント
app.addEventListener(Event.EXITING , function (e:Event):void{
// AIR アプリケーションの終了をキャンセルする
e.preventDefault();
});
exit() メソッドを呼び出した場合、Event.EXITING イベントは呼び出されません。
■ウィンドウベースのアプリケーションで終了を検出する
Event.CLOSING イベントを使用すると、ウィンドウが閉じられる処理をキャンセルすることができます。
Event.EXITING イベントが実行されるタイミングだと、ウィンドウの破棄が完了しています。
AIR アプリケーションの終了をキャンセルしても、ウィンドウの復旧ができません。
AIR アプリとファイル拡張子を関連付ける
■ファイル拡張子の関連付けに対応しているか調べる
ファイル拡張子の関連付けに対応しているか調べるには、NativeApplication.supportsDefaultApplication プロパティを使用します。
true であれば、ファイル拡張子の関連付けの利用が可能です。
この確認用のプロパティは、Adobe AIR 2.0 以降で利用可能です。
モバイルなどの環境で動作させる場合、ファイル拡張子の関連付けに対応していない事があります。
ファイル拡張子の関連付けに対応しているか調べる
import flash.text.TextField;
import flash.desktop.NativeApplication;
// テキストフィールドを作成
var text_field:TextField = new TextField();
text_field.x = 10;
text_field.y = 10;
text_field.width = stage.stageWidth - 20;
text_field.height = 20;
text_field.border = true;
stage.addChild(text_field);
text_field.text = "ファイル拡張子の関連付けをサポート:" + NativeApplication.supportsDefaultApplication;
■関連付けしたいファイルの拡張子名を宣言する
関連付けしたいファイルの拡張子名は、あらかじめ宣言しておく必要があります。
■Adobe Flash を使って設定する
Adobe AIR の設定画面を利用して編集します。
名前には、好きなファイルタイプ名を設定します。(英数字、ピリオド、38文字まで)
拡張子には、好きな拡張子名を設定します。(英数字、38文字まで)
"説明" には、好きなファイル名の説明を設定します。
"コンテンツの種類" には、好きな Content-Type (MIME タイプ) を設定します。
■アプリケーション記述子ファイルを直接編集する
アプリケーション記述子ファイルの <fileTypes> タグを編集する例です。
アプリケーション記述ファイルに、fileTypes タグを追加する
<?xml version ="1.0" encoding="utf-8" ?>
<application xmlns="http://ns.adobe.com/air/application/2.0">
~略~
<fileTypes>
<fileType>
<name>TestExtension</name>
<extension>testextension</extension>
<description>動作テスト検証用の拡張子</description>
<contentType>application/test</contentType>
<icon>
<image16x16>FileTypeIconsForAIRPublish/icon16.png</image16x16>
<image32x32>FileTypeIconsForAIRPublish/icon32.png</image32x32>
<image48x48>FileTypeIconsForAIRPublish/icon48.png</image48x48>
<image128x128>FileTypeIconsForAIRPublish/icon128.png</image128x128>
</icon>
</fileType>
<fileType>
<name>TestExtension2</name>
<extension>testextension2</extension>
<description>動作テスト検証用の拡張子2</description>
<contentType>application/test2</contentType>
</fileType>
</fileTypes>
</application>
<name> には、好きなファイルタイプ名を設定します。(英数字、ピリオド、38文字まで)
<extension> には、好きな拡張子名を設定します。(英数字、38文字まで)
<description> には、好きなファイル名の説明を設定します。
<contentType> には、好きな Content-Type (MIME タイプ) を設定します。
■ファイル拡張子の関連付けを登録する
ファイル拡張子の関連付けを登録するには、setAsDefaultApplication() メソッドを使用します。
引数に、関連付けたいファイルの拡張子名を、文字列で指定します。
AIR アプリケーションに、"*.testextension" ファイルを関連付ける
import flash.events.Event;
import flash.desktop.NativeApplication;
// ファイル拡張子の関連付けに対応している
if(NativeApplication.supportsDefaultApplication){
var app:NativeApplication = NativeApplication.nativeApplication;
// AIR アプリケーションに、"*.testextension" ファイルを関連付ける
app.setAsDefaultApplication("testextension");
}
■ファイル拡張子の関連付けを解除する
ファイル拡張子の関連付けを解除するには、removeAsDefaultApplication() メソッドを使用します。
引数に、関連付けを解除したいファイルの拡張子名を、文字列で指定します。
"*.testextension" ファイルを関連付けを解除する
import flash.events.Event;
import flash.desktop.NativeApplication;
// ファイル拡張子の関連付けに対応している
if(NativeApplication.supportsDefaultApplication){
var app:NativeApplication = NativeApplication.nativeApplication;
// "*.testextension" ファイルの関連付けを解除する
app.removeAsDefaultApplication("testextension");
}
■ファイル拡張子の関連付けが登録済みであるか調べる
ファイル拡張子の関連付けが登録済みであるかを調べるには、isSetAsDefaultApplication() メソッドを使用します。
引数に、調べたいファイルの拡張子名を、文字列で指定します。
登録済みである場合、true が得られます。
"*.testextension" ファイルを関連付けを解除する
import flash.text.TextField;
import flash.desktop.NativeApplication;
// テキストフィールドを作成
var text_field:TextField = new TextField();
text_field.x = 10;
text_field.y = 10;
text_field.width = stage.stageWidth - 20;
text_field.height = 20;
text_field.border = true;
stage.addChild(text_field);
// ファイル拡張子の関連付けに対応している
if(NativeApplication.supportsDefaultApplication){
var app:NativeApplication = NativeApplication.nativeApplication;
// "*.testextension" ファイルの関連付けが登録済みか調べる
text_field.text = "関連付け済み:" + app.isSetAsDefaultApplication("testextension");
}
■現在関連付けられている実行ファイルのパス名を取得する
現在関連付けられている実行ファイルのパス名を取得するには、getDefaultApplication() メソッドを使用します。
引数に、調べたいファイルの拡張子名を、文字列で指定します。
何らかの実行ファイルに関連付けされている場合、「実行ファイルのパス名」が文字列で得られます。
関連付けがない場合、null が得られます。
"*.testextension" ファイルと関連付けられている実行ファイルのパス名を取得する
import flash.text.TextField;
import flash.desktop.NativeApplication;
// テキストフィールドを作成
var text_field:TextField = new TextField();
text_field.x = 10;
text_field.y = 10;
text_field.width = stage.stageWidth - 20;
text_field.height = 20;
text_field.border = true;
stage.addChild(text_field);
// ファイル拡張子の関連付けに対応している
if(NativeApplication.supportsDefaultApplication){
var app:NativeApplication = NativeApplication.nativeApplication;
// "*.testextension" ファイルと関連付けられている実行ファイルのパス名を取得
text_field.text = "現在関連付けられている実行ファイルのパス名:" + app.getDefaultApplication("testextension");
}
ユーザーが操作していないアイドル状態か調べる
■アイドル状態と判断する時間を設定する
ユーザーが操作をしなくなってから、アイドル状態であると判断するまでの時間を設定するには、idleThreshold プロパティを使用します。
整数指定で、単位は秒です。デフォルト値は 300です。(5分)
「5 ~ 86400」以外の値を指定するとエラーとなります。(5 秒 ~ 1 日)
アイドル状態と判断するまでの時間を 60 秒に設定する
import flash.desktop.NativeApplication;
var app:NativeApplication = NativeApplication.nativeApplication;
// アイドル状態とみなすまでの時間を設定
app.idleThreshold = 60;
■アイドルに関するイベントについて
「idleThreshold プロパティで指定した時間が経過し、アイドルの状態となった」瞬間を調べるには、LEvent.USER_IDLE イベントを使用します。
「ユーザーが操作を行い、アイドル状態から復帰した」瞬間を調べるには、LEvent.USER_PRESENT イベントを使用します。
アイドル状態であるかを調べる
import flash.events.Event;
import flash.desktop.NativeApplication;
var app:NativeApplication = NativeApplication.nativeApplication;
// アイドル状態とみなすまでの時間を設定
app.idleThreshold = 5;
// アイドル状態になった瞬間に実行されるイベント
app.addEventListener(Event.USER_IDLE , function (e:Event):void{
trace("アイドル状態へ");
});
// アイドル状態から復帰した瞬間に実行されるイベント
app.addEventListener(Event.USER_PRESENT , function (e:Event):void{
trace("アイドル状態から復帰");
});
グローバルアプリケーションメニューを使用する
■グローバルアプリケーションメニューに対応しているか調べる
グローバルアプリケーションメニューに対応しているか調べるには、NativeApplication.supportsMenu プロパティを使用します。
true であれば、グローバルアプリケーションメニューに対応しています。
Macintosh で利用できます。
グローバルアプリケーションメニューをサポートしているか調べる
import flash.desktop.NativeApplication;
import flash.text.TextField;
// テキストフィールドを作成
var text_field:TextField = new TextField();
text_field.x = 10;
text_field.y = 10;
text_field.width = stage.stageWidth - 20;
text_field.height = 20;
text_field.border = true;
stage.addChild(text_field);
text_field.text = "グローバルアプリケーションメニューのサポート:" + NativeApplication.supportsMenu;
■グローバルアプリケーションメニューを表示する
グローバルアプリケーションメニューを表示するには、menu プロパティを使用します。
menu プロパティに、NativeMenu オブジェクトを渡します。
NativeMenu クラスの使い方については、こちらで解説しています。
グローバルアプリケーションメニューを表示する
import flash.desktop.NativeApplication;
import flash.display.NativeMenu;
import flash.display.NativeMenuItem;
import flash.events.Event;
// グローバルアプリケーションメニューをサポートしている
if(NativeApplication.supportsMenu){
// ------------------------------------------------------------
// サブ用メニューを作成
// ------------------------------------------------------------
// NativeMenu オブジェクトを作成
var menu_child:NativeMenu = new NativeMenu();
// 「サブアイテム0」を作成し、最後尾に登録
var menu_child_item_0:NativeMenuItem = new NativeMenuItem("サブアイテム0");
menu_child.addItem(menu_child_item_0);
// 「サブアイテム1」を作成し、最後尾に登録
var menu_child_item_1:NativeMenuItem = new NativeMenuItem("サブアイテム1");
menu_child.addItem(menu_child_item_1);
// ------------------------------------------------------------
// ルート用メニューを作成
// ------------------------------------------------------------
// NativeMenu オブジェクトを作成
var menu:NativeMenu = new NativeMenu();
// メニューが選択されたときに呼び出されるイベント
menu.addEventListener(Event.SELECT , function (e:Event):void{
// 選択されたメニューアイテム
var menu_item:NativeMenuItem = e.target as NativeMenuItem;
trace(menu_item.label);
});
// 「ルートアイテム0」を作成し、最後尾に登録
var menu_item_0:NativeMenuItem = new NativeMenuItem("ルートアイテム0");
menu.addItem(menu_item_0);
// 「ルートアイテム1」を作成し、最後尾に登録
var menu_item_1:NativeMenuItem = new NativeMenuItem("ルートアイテム1");
menu.addItem(menu_item_1);
// 「ルートアイテム2」を作成し、最後尾に登録
var menu_item_2:NativeMenuItem = new NativeMenuItem("ルートアイテム2");
menu.addItem(menu_item_2);
// サブメニューとして登録
menu_item_2.submenu = menu_child;
// ------------------------------------------------------------
// グローバルアプリケーションメニューを表示
// ------------------------------------------------------------
var app:NativeApplication = NativeApplication.nativeApplication;
// ネイティブアプリケーションに、ネイティブメニューを登録する
app.menu = menu;
}