为AIR应用关联文件类型

怎样双击自定义类型文件,打开所关联的AIR应用呢?可以使用setAsDefaultApplication()方法。

该方法有一个参数,包含需要关注的文件类型扩展名,只能在应用程序描述符文件中配置。如果你使用Flex,你可能手动配置语句。下面的代码为AIR应用关了后缀为atxt的文本文件:

<fileTypes> 
  <fileType> 
    <name>atxt</name> 
    <extension>atxt</extension> 
    <description>AIR Text File</description> 
    <contentType>text/plain</contentType> 
    <icon/> 
  </fileType> 
</fileTypes>

如果使用Flash Professional,可以通过图形界面来简化这一过程。

文件类型

当然,还得用到INVOKE事件,如下面的代码:

import flash.desktop.*; 
import flash.filesystem.*; 
NativeApplication.nativeApplication.addEventListener( InvokeEvent.INVOKE, onInvoke ); 
NativeApplication.nativeApplication.setAsDefaultApplication("atxt"); 
function onInvoke( event:InvokeEvent ):void { 
    if (event.arguments.length<0) { 
        var f:File=new File(event.arguments[0]); 
        var fs:FileStream = new FileStream(); 
        fs.addEventListener( Event.COMPLETE, onComplete ); 
        fs.openAsync( f, FileMode.READ ); 
    } 
} 
function onComplete( event:Event ):void { 
    var fs:FileStream=event.target as FileStream; 
    textData.text=fs.readUTFBytes(fs.bytesAvailable); 
    fs.close(); 
}

发表评论