是否可以獲取已安裝的AIR應用程序的列表(可選地僅由一個供應商提供)?Adobe AIR - 列出已安裝的應用程序
或者,是否有可能來檢查,是否是一個應用程序安裝(按名稱/ ID一些/供應商的檢查)(此方法將是首選)
謝謝。
是否可以獲取已安裝的AIR應用程序的列表(可選地僅由一個供應商提供)?Adobe AIR - 列出已安裝的應用程序
或者,是否有可能來檢查,是否是一個應用程序安裝(按名稱/ 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');
}
}
James在這裏使用了'air.swf'上的一些Adobe文檔:http://livedocs.adobe.com/flex/3/html/help.html?content=distributing_apps_3.html –
太棒了! –
很酷,迫不及待地嘗試一下。 –
這是一個有趣的問題。我認爲客戶端計算機上沒有任何地方存儲Adobe安裝在計算機上的AIR應用程序列表,但您可以通過airdownload找到它。
另一個不錯的選擇是使用Adobe AIR 2.0's Command Line Integration功能。有了這個,你可以編寫一個依賴於操作系統,但相當簡單的腳本(shell,ruby,python等),通過名稱遞歸地檢查.AIR文件的某些目錄,如果找不到它們,啓動應用程序可能會說「對不起,我們還沒有找到這兩個應用程序:X和Y.請指定他們的位置或在這裏下載它們。」在他們指定安裝路徑後,您可以推斷他們可能安裝了其他AIR應用程序的位置。
或者您可以在他們的主目錄中安裝一個文本文件,其中包含您已經安裝並閱讀的AIR應用程序列表,以瞭解您應該接下來應採取的步驟。這可能會更容易。
希望幫助, 蘭斯
文本文件看起來像可行的選項 - 但我不知道,如果沒有其他。我想我會試着用改編的搜索來試用Google,但是感謝你的想法。 –
如果你知道的appid和的publisherId,adobe.utils.ProductManager可能有一些神奇的你...但是productManager的是,我要這樣的不良記錄類猜測我的建議是死路一條。我曾經使用過一次,因爲這個包的位置,我沒有得到任何代碼洞察力,這是一個非常反覆的過程。
你在Mac上?這是你自己嗎?我可以考慮如何使用Ruby來檢查Applications目錄,但我認爲您可以直接使用它來檢查已安裝的AIR應用程序。 –
不幸的是,這不僅僅是爲了我自己...我準備了幾個小應用程序。如果有人使用5個以上的應用程序(小的「一件事」應用程序),似乎有5個圖標(或更多)的圖標是瘋狂的......所以我儘管我會做一個小創業應用程序。 –