使用存储卷Adobe AIR 2 和更高版本 在 AIR 2 中,安装或卸载大容量存储卷时,您可以进行检测。StorageVolumeInfo 类定义单个 storageVolumeInfo 对象。StorageVolumeInfo.storageVolumeInfo 对象在存储卷安装之后调度 storageVolumeMount 事件。它在某个卷被卸载时调度 storageVolumeUnmount 事件。StorageVolumeChangeEvent 类定义这些事件。 注: 在现今的 Linux 发行版中,StorageVolumeInfo 对象仅对在特定位置装载的物理设备和网络驱动器调度 storageVolumeMount 和 storageVolumeUnmount 事件。
StorageVolumeChangeEvent 类的 storageVolume 属性是一个 StorageVolume 对象。StorageVolume 类定义存储卷的基本属性:
StorageVolumeChangeEvent 类还包括一个 rootDirectory 属性。rootDirectory 属性是一个引用已装载或已卸载的存储卷的根目录的 File 对象。 对于卸载的卷,未定义 StorageVolumeChangeEvent 对象的 storageVolume 属性 (null)。然而,您可以访问此事件的 rootDirectory 的属性。 以下代码在安装完存储卷之后输出该存储卷的名称和文件路径: StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_MOUNT, onVolumeMount); function onVolumeMount(event:StorageVolumeChangeEvent):void { trace(event.storageVolume.name, event.rootDirectory.nativePath); } 以下代码在卸载完存储卷之后输出该存储卷的文件路径: StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_UNMOUNT, onVolumeUnmount); function onVolumeUnmount(event:StorageVolumeChangeEvent):void { trace(event.rootDirectory.nativePath); } StorageVolumeInfo.storageVolumeInfo 对象包含 getStorageVolumes() 方法。此方法返回与当前安装的存储卷对应的 StorageVolume 对象的矢量。以下代码显示如何列出所有安装的存储卷的名称和根目录: var volumes:Vector.<StorageVolume> = new Vector.<StorageVolume>; volumes = StorageVolumeInfo.storageVolumeInfo.getStorageVolumes(); for (var i:int = 0; i < volumes.length; i++) { trace(volumes[i].name, volumes[i].rootDirectory.nativePath); } 注: 在现今的 Linux 发行版中,getStorageVolumes() 方法返回与在特定位置安装的物理设备和网络驱动器相对应的对象。
File.getRootDirectories() 方法列出根目录(请参阅指向文件系统根目录)。然而,StorageVolume 对象(由 StorageVolumeInfo.getStorageVolumes() 方法枚举)提供有关存储卷的详细信息。 可使用 StorageVolume 对象的 rootDirectory 属性的 spaceAvailable 属性查看存储卷上的可用空间。(请参阅确定卷上的可用空间。) 有关用于电视的 AIR 设备上的存储卷的信息,请参阅用于电视的 AIR 应用程序的目录视图。 |
|