是否可以获得已安装 AIR 应用程序的列表,可选择仅由一个供应商提供?
或者,是否可以检查是否安装了一个应用程序(按名称/某些 id/供应商检查)(首选此方法)
谢谢你。
是否可以获得已安装 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');
}
}
这是个有趣的问题。我认为客户计算机上的任何地方都没有 Adobe 存储计算机上安装的 AIR 应用程序列表,但您可以通过airdownload找到它。
另一个不错的选择是使用Adobe AIR 2.0 的命令行集成功能。有了它,您可以编写一个依赖于操作系统但相当简单的脚本(shell、ruby、python 等),它按名称递归检查某些目录中的 .AIR 文件,如果找不到,您的启动应用程序可以说“抱歉,我们没有找到这两个应用程序:X 和 Y。请指定它们的位置或在此处下载它们”。在他们指定安装路径后,您可以推断他们可能安装了其他 AIR 应用程序的位置。
或者,您可以在他们的主目录中安装一个文本文件,其中包含您已安装的 AIR 应用程序列表,并阅读该文件以了解下一步应该采取的步骤。那可能会更容易。
希望有帮助,兰斯
如果你知道 appID 和 publisherID,adobe.utils.ProductManager 可能对你有一些神奇的东西......但是 productManager 是一个文档记录如此糟糕的类,我猜我的建议是死胡同。我曾经用它做某事,我记得,由于包的位置,我没有得到任何代码洞察力,这是一个非常反复试验的过程。