이 단원에서는 AIR 응용 프로그램에서 운영 체제 파일 연결을 관리하고, 사용자 작업을 감지하고, Adobe® AIR® 런타임에 대한 정보를 얻는 방법에 대해 설명합니다.
파일 연결 관리
응용 프로그램과 파일 유형 간의 연결은 응용 프로그램 설명자에 선언되어야 합니다. 설치 프로세스 동안 AIR 응용 프로그램 설치 프로그램은 다른 응용 프로그램이 이미 기본값이 아닌 경우 AIR 응용 프로그램을 선언된 각각의 파일 유형에 대해 기본적으로 열리는 응용 프로그램으로 연결합니다. AIR 응용 프로그램 설치 프로세스는 기존 파일 유형 연결을 재정의하지 않습니다. 다른 응용 프로그램의 연결을 가져오려면 런타임에
NativeApplication.setAsDefaultApplication()
메서드를 호출합니다.
응용 프로그램이 시작될 때 예상 파일 연결이 있는지 확인하는 것이 좋습니다. 이는 AIR 응용 프로그램 설치 프로그램이 기존 파일 연결을 재정의하지 않을 뿐만 아니라 사용자 시스템의 파일 연결을 언제든지 변경할 수 있기 때문입니다. 다른 응용 프로그램에 현재 파일 연결이 있는 경우 기존 연결을 가져오기 전에 사용자에게 물어보는 것이 좋습니다.
NativeApplication 클래스의 다음 메서드를 통해 응용 프로그램이 파일 연결을 관리할 수 있습니다. 각각의 메서드는 파일 유형 확장명을 매개 변수로 사용합니다.
메서드
|
설명
|
isSetAsDefaultApplication()
|
AIR 응용 프로그램이 현재 지정된 파일 유형과 연결되어 있으면 true를 반환합니다.
|
setAsDefaultApplication()
|
AIR 응용 프로그램과 파일 유형의 열기 액션 간 연결을 만듭니다.
|
removeAsDefaultApplication()
|
AIR 응용 프로그램과 파일 유형 간 연결을 제거합니다.
|
getDefaultApplication()
|
파일 유형에 현재 연결되어 있는 응용 프로그램의 경로를 보고합니다.
|
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 응용 프로그램과 함께 설치되지 않은 모든 리소스는 웹 브라우저에서 Adobe® Flash® Player에 의해 할당되는 동일한 보안 샌드박스에 할당됩니다. 원격 리소스는 해당 소스 도메인에 따라 샌드박스에 배치되고 로컬 리소스는 local-with-networking, local-with-filesystem 또는 local-trusted sandbox에 배치됩니다.
내용이 런타임에서 실행 중이며 브라우저에서 실행하는 Flash Player에서는 실행되고 있지 않은지 확인할 수 있도록
Capabilities.playerType
정적 속성이
"Desktop"
으로 설정되었는지 검사할 수 있습니다.
자세한 내용은
AIR 보안
을 참조하십시오.
사용자 현재 상태 추적
NativeApplication 객체는 사용자가 컴퓨터를 실제로 사용 중인 경우를 감지하는 두 개의 이벤트를 전달합니다.
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");
});
참고:
두
userPresent
이벤트 사이에는 하나의
userIdle
이벤트만 전달됩니다.
|
|
|