访问本机扩展的目录

有时,扩展会包含其他文件,如图像。有时,扩展还要访问扩展描述符文件中的信息,如扩展版本号。

要访问这些文件以获取除 iOS 设备之外的所有设备上的扩展,请使用 ExtensionContext 类静态方法 getExtensionDirectory() 。例如:

var extDir:File = ExtensionContext.getExtensionDirectory("com.example.TVControllerExtension");

将扩展名称传递给 getExtensionDirectory() 。该字符串值与下面两处使用的名称相同:

  • 扩展描述符文件的 id 元素。

  • 传递给 ExtensionContext.createExtensionContext() 的扩展 ID 参数。

返回的 File 实例引用基本扩展目录。扩展目录具有以下结构:

extension base directory/ 
    platform independent files 
    META-INF/ 
        ANE/ 
            extension.xml 
            platform name/ 
                platform dependent files and directories

无论扩展目录位于设备中的哪个位置,扩展的文件与基本扩展目录的相对位置始终不变。因此,使用返回的 File 实例和 File 类方法可以找到和操纵扩展所包含的特定文件。

扩展目录位置取决于扩展是通过应用程序绑定方式提供还是通过设备绑定方式提供,如下所述:
  • 对于应用程序绑定方式,扩展目录位于应用程序目录中。

  • 对于设备绑定方式,扩展目录位置取决于设备。

对于 iOS 设备的 ActionScript 扩展,在使用 getExtensionDirectory() 时存在例外情况。这些扩展的资源不在扩展目录中。而是位于顶级应用程序目录中。有关详细信息,请参阅 iOS 设备上的资源