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