AIR应用通常不能像QQ那样能进行多开操作。
为了让一个用AIR做的客户端能实现多任务,我找到得办法是运行程序时自动修改配置文件的id标签内的内容。
然后再关闭程序时又必须还原成原有的id,因为只有id一致才能实现更新功能。
主程序:multiapp.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="windowedapplication1_creationCompleteHandler(event)"> <fx:Script> <![CDATA[ import flash.filesystem.File; import flash.filesystem.FileMode; import flash.filesystem.FileStream; import mx.events.FlexEvent; import mx.formatters.DateFormatter; private var oldid:String; private var reg:RegExp = /<id>.*<\/id>/; protected function windowedapplication1_creationCompleteHandler(event:FlexEvent):void { var df:DateFormatter = new DateFormatter(); df.formatString = "YYYYMMDDHHNNSS"; var time:String = df.format(new Date()); var newid:String = "<id>com.roy"+time+"</id>"; var f:File =new File(File.applicationDirectory.resolvePath( "META-INF/AIR/application.xml").nativePath); var fs:FileStream = new FileStream(); fs.open(f,FileMode.READ); var str:String = new String(fs.readUTFBytes(fs.bytesAvailable)); oldid = str.match(reg).toString(); str = str.replace(reg,newid); fs.open(f,FileMode.WRITE); fs.writeUTFBytes(str); fs.close(); label.text = newid; //有多个在运行的程序时只关闭一个运行程序就无法再打开新程序 //必须监听系统最后一个相同程序关闭时,才能初始化id //解决办法: //记录运行前id,若为初始ID则在关闭该程序时初始化id,否则不操作 if(oldid == "<id>com.roy</id>") { this.addEventListener(Event.CLOSE,returnId); } } protected function returnId(e:Event):void { var f:File =new File(File.applicationDirectory.resolvePath( "META-INF/AIR/application.xml").nativePath); var fs:FileStream = new FileStream(); fs.open(f,FileMode.READ); var str:String = new String(fs.readUTFBytes(fs.bytesAvailable)); str = str.replace(reg,oldid); fs.open(f,FileMode.WRITE); fs.writeUTFBytes(str); fs.close(); } ]]> </fx:Script> <s:VGroup gap="20"> <s:Label text="已将配置文件id更改为:" color="0xff0000" fontSize="20"/> <s:Label id="label" color="0x0000ff" fontSize="20"/> </s:VGroup> </s:WindowedApplication>
此程序中配置文件multiapp-app.mxml中,id标签必须为<id>com.roy</id>。
相关推荐
【标题】"论坛小程序多开1.0.39.zip" 涵盖的是一个针对论坛的小程序开发项目,版本号为1.0.39。这个压缩包中包含了实现论坛功能的小程序的源代码,以及相关的前后端开发资源。 【描述】"论坛小程序源码 前后端 亲测...
drv_air780e.c 和 drv_air780e.h 是两个关键的源代码文件,它们构成了AIR780E驱动程序的核心。drv_air780e.c 文件通常包含了驱动程序的具体实现,包括初始化模组、数据传输、接收处理、错误检测以及位置定位等功能。...
基于Android系统的Air程序开发涉及到的知识点广泛,涵盖从基础概念到实际应用的各个环节。 首先,我们要了解Adobe AIR的核心特性,它提供了丰富的用户界面组件和多媒体支持,包括视频、音频、动画等。AIR还允许应用...
AIR2.0 调用应用程序 修正AIR2.0 调用应用程序 修正AIR2.0 调用应用程序 修正AIR2.0 调用应用程序 修正AIR2.0 调用应用程序 修正AIR2.0 调用应用程序 修正AIR2.0 调用应用程序 修正AIR2.0 调用应用程序 修正 ...
标题中的“AIR程序窗口 基于内容 动态缩放窗口”指的是使用Adobe AIR技术开发的桌面应用程序,它的窗口能够根据内容自动调整大小,并且在缩放过程中保持良好的视觉效果,比如实现圆角设计。这涉及到软件界面设计中的...
标题中的"最新AIR安装程序免费分享"指的是该压缩包中包含的是Adobe AIR的最新版本安装程序,通常这些安装程序会包含所有必要的组件,用于在用户的计算机上安装和运行基于AIR技术开发的应用程序。用户可以通过这个...
【标题】"播放器界面+Air程序" 涉及的主要知识点是Adobe AIR技术以及音频播放器界面设计。Adobe AIR(Adobe Integrated Runtime)是一个跨平台的运行环境,允许开发人员使用HTML、CSS、JavaScript或者Flex、...
### 基于Android系统的AIR程序开发 #### 一、概览 Adobe AIR(Adobe Integrated Runtime)是一款由Adobe系统公司开发的跨平台运行环境,它允许开发者使用HTML、JavaScript、Flash以及Flex等技术来构建原生应用。...
标题中的“让AIR程序脱离运行环境(比较简单的实现方法)”指的是将Adobe AIR应用程序转换为独立的可执行文件,使得用户无需安装AIR运行环境就能运行该程序。这通常是为了方便分发和使用,特别是对于那些不熟悉或...
本压缩包文件“独立air应用程序打包的附件”显然包含了与创建和分发独立AIR应用相关的组件和资源。 标题中的“独立air应用程序打包”指的是将一个完整的AIR应用打包成一个可独立运行的文件,用户下载后无需额外安装...
解决AIR对ADOBE AIR的依赖,软件绿色版
使用Flex开发Adobe AIR程序--桌面快捷方式管理器,适合新手进一步熟悉api,遇到典型的问题,1)调用外部exe文件,2)打包,3)读写文件,路径问题,...
在探讨“AIR 2.0调用应用程序”这一主题时,我们需要深入了解Adobe Integrated Runtime(AIR)的概念以及在AIR 2.0版本中如何与本地操作系统交互。AIR是一种跨平台的运行环境,允许开发者使用HTML、CSS、JavaScript...
Adobe AIR(Adobe Integrated Runtime)是一个跨平台的应用程序运行环境,由Adobe公司开发。它允许开发者使用Web技术(HTML、JavaScript和Flash/Flex)构建富互联网应用(Rich Internet Applications,简称RIAs),...
《Air202 MQTT测试程序详解》 在物联网(IoT)领域,MQTT(Message Queuing Telemetry Transport)协议因其轻量级、低功耗和高可靠性的特性,成为了设备间通信的重要选择。本文将深入探讨Air202 MQTT测试程序,包括...
这篇教程应该算是AIR的 Hello world,写给那些知道一点AIR,想要开始AIR开发的人。读这篇教程你可以没有任何Flex的基础,我会告诉你如何创建你的第一个项目,并且发布一个HelloWorld程序。
在本文中,我们将深入探讨如何使用Flex SDK创建第一个桌面Adobe Integrated Runtime (AIR)应用程序。首先,确保你已经安装了运行时环境并配置了Flex 3 SDK。主要涉及的工具包括AMXMLC编译器、AIR Debug Launcher ...
《深入理解AIR SQLite管理程序与嵌入式数据库技术》 SQLite是一款轻量级的、开源的、自包含的、无服务器、零配置、事务性的SQL数据库引擎,它被广泛应用于移动应用、桌面应用以及嵌入式系统中。本文将基于“AIR ...