`
wgcode
  • 浏览: 593421 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

AIR程序多开

 
阅读更多

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.zip" 涵盖的是一个针对论坛的小程序开发项目,版本号为1.0.39。这个压缩包中包含了实现论坛功能的小程序的源代码,以及相关的前后端开发资源。 【描述】"论坛小程序源码 前后端 亲测...

    合宙4G模组AIR780E的驱动程序

    drv_air780e.c 和 drv_air780e.h 是两个关键的源代码文件,它们构成了AIR780E驱动程序的核心。drv_air780e.c 文件通常包含了驱动程序的具体实现,包括初始化模组、数据传输、接收处理、错误检测以及位置定位等功能。...

    基于Android系统的Air程序开发

    基于Android系统的Air程序开发涉及到的知识点广泛,涵盖从基础概念到实际应用的各个环节。 首先,我们要了解Adobe AIR的核心特性,它提供了丰富的用户界面组件和多媒体支持,包括视频、音频、动画等。AIR还允许应用...

    AIR2.0 调用应用程序 exe bat jar com 修正

    AIR2.0 调用应用程序 修正AIR2.0 调用应用程序 修正AIR2.0 调用应用程序 修正AIR2.0 调用应用程序 修正AIR2.0 调用应用程序 修正AIR2.0 调用应用程序 修正AIR2.0 调用应用程序 修正AIR2.0 调用应用程序 修正 ...

    AIR程序窗口 基于内容 动态缩放窗口

    标题中的“AIR程序窗口 基于内容 动态缩放窗口”指的是使用Adobe AIR技术开发的桌面应用程序,它的窗口能够根据内容自动调整大小,并且在缩放过程中保持良好的视觉效果,比如实现圆角设计。这涉及到软件界面设计中的...

    最新AIR安装程序免费分享

    标题中的"最新AIR安装程序免费分享"指的是该压缩包中包含的是Adobe AIR的最新版本安装程序,通常这些安装程序会包含所有必要的组件,用于在用户的计算机上安装和运行基于AIR技术开发的应用程序。用户可以通过这个...

    播放器界面+Air程序

    【标题】"播放器界面+Air程序" 涉及的主要知识点是Adobe AIR技术以及音频播放器界面设计。Adobe AIR(Adobe Integrated Runtime)是一个跨平台的运行环境,允许开发人员使用HTML、CSS、JavaScript或者Flex、...

    基于android系统的air程序开发

    ### 基于Android系统的AIR程序开发 #### 一、概览 Adobe AIR(Adobe Integrated Runtime)是一款由Adobe系统公司开发的跨平台运行环境,它允许开发者使用HTML、JavaScript、Flash以及Flex等技术来构建原生应用。...

    让AIR程序脱离运行环境(比较简单的实现方法)

    标题中的“让AIR程序脱离运行环境(比较简单的实现方法)”指的是将Adobe AIR应用程序转换为独立的可执行文件,使得用户无需安装AIR运行环境就能运行该程序。这通常是为了方便分发和使用,特别是对于那些不熟悉或...

    独立air应用程序打包的附件

    本压缩包文件“独立air应用程序打包的附件”显然包含了与创建和分发独立AIR应用相关的组件和资源。 标题中的“独立air应用程序打包”指的是将一个完整的AIR应用打包成一个可独立运行的文件,用户下载后无需额外安装...

    Flex AIR软件免安装ADOBE AIR程序

    解决AIR对ADOBE AIR的依赖,软件绿色版

    使用Flex开发Adobe AIR程序--桌面快捷方式管理器

    使用Flex开发Adobe AIR程序--桌面快捷方式管理器,适合新手进一步熟悉api,遇到典型的问题,1)调用外部exe文件,2)打包,3)读写文件,路径问题,...

    AIR2.0调用应用程序

    在探讨“AIR 2.0调用应用程序”这一主题时,我们需要深入了解Adobe Integrated Runtime(AIR)的概念以及在AIR 2.0版本中如何与本地操作系统交互。AIR是一种跨平台的运行环境,允许开发者使用HTML、CSS、JavaScript...

    构建Adobe AIR应用程序

    Adobe AIR(Adobe Integrated Runtime)是一个跨平台的应用程序运行环境,由Adobe公司开发。它允许开发者使用Web技术(HTML、JavaScript和Flash/Flex)构建富互联网应用(Rich Internet Applications,简称RIAs),...

    air202 mqtt 测试程序

    《Air202 MQTT测试程序详解》 在物联网(IoT)领域,MQTT(Message Queuing Telemetry Transport)协议因其轻量级、低功耗和高可靠性的特性,成为了设备间通信的重要选择。本文将深入探讨Air202 MQTT测试程序,包括...

    Flex_builder中创建、发布AIR程序以及_AIR程序的安装运行

    这篇教程应该算是AIR的 Hello world,写给那些知道一点AIR,想要开始AIR开发的人。读这篇教程你可以没有任何Flex的基础,我会告诉你如何创建你的第一个项目,并且发布一个HelloWorld程序。

    使用Flex SDK创建第一个桌面AIR应用程序

    在本文中,我们将深入探讨如何使用Flex SDK创建第一个桌面Adobe Integrated Runtime (AIR)应用程序。首先,确保你已经安装了运行时环境并配置了Flex 3 SDK。主要涉及的工具包括AMXMLC编译器、AIR Debug Launcher ...

    AIR SQLLite管理程序(带源码)

    《深入理解AIR SQLite管理程序与嵌入式数据库技术》 SQLite是一款轻量级的、开源的、自包含的、无服务器、零配置、事务性的SQL数据库引擎,它被广泛应用于移动应用、桌面应用以及嵌入式系统中。本文将基于“AIR ...

Global site tag (gtag.js) - Google Analytics