在Adobe Air中获取当前操作系统

16
我正在使用Adobe Flex/Air制作一个应用程序。我想知道是否有任何方法可以获取运行Air应用程序的操作系统?
3个回答

27

使用Capabilities类:

import flash.system.Capabilities;

trace(Capabilities.os);

5
这也可以在 Flash 中使用 :) 不仅限于 AIR :) - Adrian Pirvulescu
但是我们如何识别Solaris操作系统? - Asad

12
if((Capabilities.os.indexOf("Windows") >= 0))
{
     // in windows
}
else if((Capabilities.os.indexOf("Mac") >= 0))
{
// in mac
 } 
 else if((Capabilities.os.indexOf("Linux") >= 0))
 {
// in linux
 }

8

为了更清晰地表达,我使用了这段代码(虽然它和Mudasir的代码功能相同)

if(Capabilities.os.search("Windows")>=0)
     //do something

以下是文档中的内容:
flash.system.Capabilities.os():String [只读] 指定当前操作系统。操作系统属性可以返回以下字符串:
Windows 7 Windows Vista Windows Server 2008 R2 Windows Server 2008 Windows Home Server Windows Server 2003 R2 Windows Server 2003 Windows Server XP 64 Windows XP Windows 98 Windows 95 Windows NT Windows 2000 Windows ME Windows CE Windows SmartPhone Windows PocketPC Windows CEPC Windows Mobile Mac OS "Mac OS X.Y.Z"(其中X.Y.Z是版本号,例如:"Mac OS 10.5.2") Linux "Linux"(Flash Player附加了Linux版本,如"Linux 2.6.15-1.2054_FC5smp") iPhone OS 4.1 "iPhone3,1"
服务器字符串是OS。
不要使用Capabilities.os来根据操作系统确定功能,如果存在更具体的能力属性,则不应基于操作系统来确定能力。 基于操作系统的能力是一个坏主意,因为如果应用程序没有考虑所有潜在的目标操作系统,则可能会导致问题。 相反,请使用对应于您正在测试的功能的属性。有关详细信息,请参阅Capabilities类描述。
语言版本:3.0 播放器版本:Flash 9、AIR 1.0、Lite 4

我们如何识别Solaris操作系统? - Asad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接