Domanda

E 'possibile ottenere l'elenco delle applicazioni AIR installate, opzionalmente da un solo fornitore?

In alternativa, è possibile controllare se è un'applicazione (controllato per nome / qualche id / fornitore) installato (questo metodo sarebbe preferito)

Grazie.

È stato utile?

Soluzione

Si può fare questo:

        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');
            }
        }

Altri suggerimenti

Questa è una domanda interessante. Non credo che ci siano posti sul computer del cliente in cui Adobe è la memorizzazione di un elenco di applicazioni AIR installate sul computer, ma si può essere in grado di trovarlo tramite airdownload .

Un'altra alternativa decente sarebbe quella di utilizzare Command Line Integrazione funzione Adobe AIR 2.0. Con che si potrebbe scrivere un OS-dipendente, ma abbastanza semplice, lo script (shell, Ruby, Python, ecc) che in modo ricorsivo verificato alcune directory per i file .air per nome, e se non sono state trovate, la vostra partenza di app potrebbe dire "Mi dispiace non abbiamo trovato questi due applicazioni: X e Y. si prega di specificare la loro posizione o scaricarli qui". E dopo che specificato il percorso di installazione, si potrebbe dedurre dove potrebbero avere altre applicazioni AIR installato.

In alternativa è possibile installare un file di testo nella loro home directory con un elenco delle applicazioni AIR installate e letto che per capire quali passi si dovrebbe prendere il prossimo. Che probabilmente sarebbe più facile.

Speranza che aiuta, Lance

Se si conosce l'appID e la publisherID, adobe.utils.ProductManager potrebbero avere qualcosa di magico per voi ... ma product manager è una tale classe scarsamente documentata che ho intenzione di indovinare che il mio suggerimento è un vicolo cieco. Ho usato una volta per qualcosa e se non ricordo male, a causa della posizione del pacchetto, non ho avuto alcuna conoscenza di codice ed è stato un processo di tentativi ed errori molto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top