AIR程序调用本地默认应用程序打开本地文件

     File类提供了一个方法openWithDefaultApplication可以用本地默认应用程序打开指定路径下的文件。

当我用下面语句的时候,可以成功打开桌面文件夹下面的文件:

_file = File.desktopDirectory.resolvePath("cd/shanghai.jpg")

  但是,要打开的文件一般都是放在安装目录下的。当然,file也为我们提供了相关的API:

_file = File.applicationDirectory.resolvePath('assets/Background.jpg');
  _file.openWithDefaultApplication();

当我这样调用的时候,报错了

Error: Error #3000: Illegal path name.at Error$/throwError()

at flash.filesystem::File/openWithDefaultApplication()

网上搜了一下,发现要在xml文件下面写一句配置:

<supportedProfiles>extendedDesktop desktop</supportedProfiles>

supportedProfiles元素可以包括以下任何值:

  • desktop— desktop 是安装在使用 AIR 文件的 desktop 计算机上的 AIR 应用程序的配置文件。这些应用程序无权访问 NativeProcess 类(提供与本机应用程序的通信)。

  • extendedDesktop— 扩展的桌面配置文件是安装在使用本机应用程序安装程序的桌面计算机上的 AIR 应用程序的配置文件。这些应用程序可以访问 NativeProcess 类(提供与本机应用程序的通信)。

  • mobileDevice— 移动设备配置文件用于移动应用程序。

  • extendedMobileDevice— 扩展的移动设备配置文件当前未被使用。

注意:extendedDesktop一定要放在第一个,后面要加别的值,要用空格隔开。

 

 

posted @ 2013-05-22 22:45  LouisSong  阅读(1013)  评论(0编辑  收藏  举报