AIR ランタイムとオペレーティングシステムに関する情報の操作Adobe AIR 1.0 およびそれ以降 この節では、オペレーティングシステムファイルの関連付けの管理、ユーザーアクティビティの検出、Adobe® AIR® ランタイムに関する情報の取得を AIR アプリケーションで行う方法について説明します。 ファイルの関連付けの管理アプリケーションとファイルの種類との関連付けは、アプリケーション記述子で宣言する必要があります。インストールプロセス時、AIR アプリケーションインストーラーでは、宣言済みの各ファイルの種類を開くデフォルトのアプリケーションとして AIR アプリケーションを関連付けます。ただし、別のアプリケーションが既にデフォルトのアプリケーションになっている場合を除きます。AIR アプリケーションのインストールプロセスでは、既存のファイルの種類の関連付けを上書きしません。別のアプリケーションから関連付けを引き継ぐには、実行時に NativeApplication.setAsDefaultApplication() メソッドを呼び出します。 アプリケーションの起動時に、期待されるファイルの関連付けが適切であるかどうかを確認することをお勧めします。この理由は、AIR アプリケーションインストーラーでは既存のファイルの関連付けを上書きしないため、また、ユーザーのシステムにおけるファイルの関連付けは常に変更される可能性があるためです。現在のファイルの関連付けが別のアプリケーションに設定されている場合は、既存の関連付けを変更する前にユーザーに確認することも推奨されます。 NativeApplication クラスの次のメソッドを使用すると、アプリケーションでファイルの関連付けを管理できます。各メソッドは、ファイルの種類の拡張子をパラメーターとして受け取ります。
AIR で管理できるのは、アプリケーション記述子であらかじめ宣言されているファイルの種類の関連付けだけです。宣言されていないファイルの種類の関連付けに関する情報は、そのファイルの種類とアプリケーションの間の関連付けをユーザーが手動で作成した場合も含めて取得できません。アプリケーション記述子で宣言されていないファイルの種類の拡張子を指定して、ファイルの関連付けの管理メソッドを呼び出すと、ランタイム例外がアプリケーションからスローされます。 ランタイムのバージョンとパッチレベルの取得NativeApplication オブジェクトには、アプリケーションが実行されているランタイムのバージョン(「1.0.5」などのストリング)を示す runtimeVersion プロパティがあります。また、NativeApplication オブジェクトには、ランタイムのパッチレベル(2960 などの番号)を示す runtimePatchLevel プロパティもあります。次のコードでは、これらのプロパティを使用します。 trace(NativeApplication.nativeApplication.runtimeVersion); trace(NativeApplication.nativeApplication.runtimePatchLevel); AIR 機能の検出Adobe AIR アプリケーションに付属するファイルでは、Security.sandboxType プロパティは、Security.APPLICATION 定数で定義されている値に設定されます。ファイルが Adobe AIR セキュリティサンドボックス内にあるかどうかに基づいて、コンテンツ(AIR 固有の API を含んでいるかどうかわからないコンテンツ)を読み込むことができます。これを次のコードに示します。 if (Security.sandboxType == Security.APPLICATION) { // Load SWF that contains AIR APIs } else { // Load SWF that does not contain AIR APIs } AIR アプリケーションのインストールに含まれないすべてのリソースは、Web ブラウザーの Adobe® Flash® Player によって割り当てられる場合と同じセキュリティサンドボックスに割り当てられます。リモートリソースは、そのソースドメインに従ってサンドボックスに配置され、ローカルリソースは、local-with-networking、local-with-filesystem、local-trusted のいずれかのサンドボックスに配置されます。 Capabilities.playerType 静的プロパティが「Desktop」に設定されているかどうかをチェックして、コンテンツがランタイムで実行される(ブラウザーで実行される Flash Player では実行されない)かどうかを確認できます。 詳しくは、AIR のセキュリティを参照してください。 ユーザープレゼンスの追跡NativeApplication オブジェクトは、ユーザーがコンピューターをアクティブに使用していることを検出するのに役立つ 2 つのイベントを送出します。NativeApplication.idleThreshold プロパティで指定されている期間内に、マウスまたはキーボードの操作が検出されないと、NativeApplication は userIdle イベントを送出します。キーボードまたはマウスの次回の入力が発生すると、NativeApplication オブジェクトは userPresent イベントを送出します。idleThreshold の期間は秒単位で計測され、デフォルト値は 300(5 分)です。最後のユーザー入力からの経過秒数を NativeApplication.nativeApplication.lastUserInput プロパティから取得することもできます。 次のコード行では、アイドル時間のしきい値を 2 分に設定し、userIdle イベントと userPresent イベントをリッスンします。 NativeApplication.nativeApplication.idleThreshold = 120; NativeApplication.nativeApplication.addEventListener(Event.USER_IDLE, function(event:Event) { trace("Idle"); }); NativeApplication.nativeApplication.addEventListener(Event.USER_PRESENT, function(event:Event) { trace("Present"); }); 注意: 2 つの userPresent イベントの間に、userIdle イベントが 1 つだけ送出されます。
|
![]() |