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>。
相关推荐
构建 ADOBE® AIR® 应用程序 目录 第 1 章: Adobe AIR 简介 第 2 章: Adobe AIR 安装 安装 Adobe AIR 删除 Adobe AIR 安装和运行 AIR 范例应用程序 Adobe AIR 更新 第 3 章: 使用 AIR API 特定于 AIR 的 ...
基于android系统的air程序开发 基于android系统的air程序开发 基于android系统的air程序开发 基于android系统的air程序开发
AIR2.0 调用应用程序 修正AIR2.0 调用应用程序 修正AIR2.0 调用应用程序 修正AIR2.0 调用应用程序 修正AIR2.0 调用应用程序 修正AIR2.0 调用应用程序 修正AIR2.0 调用应用程序 修正AIR2.0 调用应用程序 修正 ...
很全面的adobe AIR学习资料,包括两本书: 1)基于Android系统的Air程序开发 2) Developing_AIR_Apps_for_Android ()英文
解决AIR对ADOBE AIR的依赖,软件绿色版
AIR2.0调用应用程序AIR2.0调用应用程序AIR2.0调用应用程序AIR2.0调用应用程序AIR2.0调用应用程序AIR2.0调用应用程序AIR2.0调用应用程序
使用Flex开发Adobe AIR程序--桌面快捷方式管理器,适合新手进一步熟悉api,遇到典型的问题,1)调用外部exe文件,2)打包,3)读写文件,路径问题,...
这篇教程应该算是AIR的 Hello world,写给那些知道一点AIR,想要开始AIR开发的人。读这篇教程你可以没有任何Flex的基础,我会告诉你如何创建你的第一个项目,并且发布一个HelloWorld程序。
AIR桌面程序 窗口 基于内容 动态缩放窗口,窗口变成漂亮的圆角形。
Adobe AIR 运行时允许在桌面运行AIR应用程序,脱离游览器的束缚。 目前最新还未成熟的移动平台
NULL 博文链接:https://zpointer.iteye.com/blog/802572
使用Flex SDK创建第一个桌面AIR应用程序
使用 Adobe Flex 3 开发 Adobe AIR 1.1 应用程序
没有这些AirPrint兼容打印机的可以借助一款名为Printopia的Mac程序激活AirPrint功能,那么Windows用户呢?想在PC上启用AirPrint的Windows用户注意了,一款新工具“AirPrint Activator”将实现你的愿望。 该工具...
Adobe Flash Builder 4.5 Android Air 程序开发系列 之四 打开与关闭应用程序是的保存数据
AIR SQLLite管理程序(带源码) SQLLite嵌入式数据库
独立air应用程序打包的附件..................
air card 监控程序 air card 监控程序 air card 监控程序
Adobe Flash Builder 4.5 Android Air 程序开发系列 之八 照相机
air202 mqtt 测试程序 完整版程序包含air202官方库文件 和LOD文件