문제

선택적으로 한 공급 업체에 의해서만 설치된 에어 애플리케이션 목록을 얻을 수 있습니까?

또는 하나의 응용 프로그램 (이름/일부 ID/공급 업체로 확인)이 설치되어 있는지 확인할 수 있습니까 (이 방법이 선호됩니다)

고맙습니다.

도움이 되었습니까?

해결책

당신은 이것을 할 수 있습니다 :

        private function loadAIR():void
        {
            var loader:Loader = new Loader();
            var loaderContext:LoaderContext = new LoaderContext();
            loaderContext.applicationDomain = ApplicationDomain.currentDomain;
            loader.contentLoaderInfo.addEventListener(Event.INIT, onInit);
            loader.load(new URLRequest("http://airdownload.adobe.com/air/browserapi/air.swf"), loaderContext);
        }

        private function onInit(e:Event):void
        {
            var air:Object = e.target.content;
            try
            {
              air.getApplicationVersion("appID", "publisherID", versionDetectCallback);
            }
            catch (e:Error)
            {
              trace('air not installed');
            }
        }

        private function versionDetectCallback(version:String):void
        {
            if (version == null)
            {
                trace('app not installed');
            }
            else
            {
                trace('app version ' + version + ' installed');
            }
        }

다른 팁

이것은 흥미로운 질문입니다. 클라이언트 컴퓨터에 Adobe가 컴퓨터에 설치된 에어 앱 목록을 저장하는 장소가 없다고 생각하지만 에어 다운로드.

또 다른 괜찮은 대안은 사용하는 것입니다 Adobe Air 2.0의 명령 줄 통합 특징. 이를 통해 이름으로 .Air 파일에 대한 일부 디렉토리를 재귀 적으로 확인한 OS 의존적이지만 상당히 간단한 스크립트 (쉘, 루비, 파이썬 등)를 작성할 수 있으며, 찾을 수 없었을 경우 스타트 업 앱이 말할 수 있습니다. "이 두 앱을 찾지 못했습니다 : X와 Y. 위치를 지정하거나 여기에서 다운로드하십시오." 설치 경로를 지정한 후 다른 에어 앱이 설치된 위치를 추론 할 수 있습니다.

또는 설치 한 에어 앱 목록과 함께 홈 디렉토리에 텍스트 파일을 설치하고 다음에 수행해야 할 단계를 파악할 수 있습니다. 아마도 더 쉬울 것입니다.

도움이되기를 바랍니다

Appid와 PublisherId, Adobe.utils.productmanager가 당신에게 마법 같은 것을 알고 있다면 ... ProductManager는 제대로 문서화되지 않은 클래스이므로 내 제안이 막 다른 곳이라고 생각합니다. 나는 무언가를 한 번 사용했고, 내가 기억하는 것처럼, 패키지 위치 때문에, 나는 코드 통찰력을 얻지 못했고 그것은 매우 시행 착오 프로세스였습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top