当前位置: 代码迷 >> Web前端 >> 关于ProductManager的1点小运用
  详细解决方案

关于ProductManager的1点小运用

热度:143   发布时间:2012-10-13 11:38:17.0
关于ProductManager的一点小运用
主角:adobe.utils.ProductManager;

MXML文件:
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
					   xmlns:s="library://ns.adobe.com/flex/spark" 
					   xmlns:mx="library://ns.adobe.com/flex/mx"
					   creationComplete="init();">
	<fx:Declarations>
	</fx:Declarations>
	<fx:Script source="Main1.as"/>
</s:WindowedApplication>

运用一:判断客户机AIR的安装及环境
Main1.as:

import adobe.utils.ProductManager;
private function getStatus():String
{
	var hasAIR:ProductManager=new ProductManager("airappinstaller");
	if (hasAIR.installed)
	{
		return "installed";
	}
	else
	{
		var os:String=Capabilities.os;
		if (os == "Windows 95" || os == "Windows 98/ME")
		{
			return "unavailable";
		}
		if (os.indexOf("Mac OS 10.0") == 0 || os.indexOf("Mac OS 10.1") == 0 || os.indexOf("Mac OS 10.2") == 0 || os.indexOf("Mac OS 10.3") == 0)
		{
			return "unavailable";
		}
		if (os.indexOf("Windows") == 0 || os.indexOf("Mac OS 10") == 0 || os.indexOf("Linux") == 0)
		{
			return "available";
		}
		return "unavailable";
	}
}

private function init():void
{
	switch (getStatus())
	{
		case "installed":
			trace("已经安装AIR运行时");
			break;
		case "unavailable":
			trace("当前系统无法安装AIR运行时");
			break;
		case "available":
			trace("尚未安装AIR运行时");
			break;
	}
}

运用二:重启运用程序
Main2.as:
[注:]本例运用,需在app.xml中把
<allowBrowserInvocation>true</allowBrowserInvocation>

import adobe.utils.ProductManager;
import flash.events.MouseEvent;
import mx.core.FlexGlobals;
import spark.components.Button;
import spark.components.WindowedApplication;

private function init():void
{
	var restartBtn:Button=new Button();
	restartBtn.x= restartBtn.y=114;
	restartBtn.label="重启系统"
	this.addElement(restartBtn)	
	restartBtn.addEventListener(MouseEvent.CLICK, doRestartAppHandler)
}

private function doRestartAppHandler(event:MouseEvent):void
{
	var app:WindowedApplication=WindowedApplication(FlexGlobals.topLevelApplication);
	var mgr:ProductManager=new ProductManager("airappinstaller");
	mgr.launch("-launch " + app.nativeApplication.applicationID + " " + app.nativeApplication.publisherID);
	app.close();
}

  相关解决方案