使用 Adob​​e AIR 获取任何 USB 磁盘信息

Posted

技术标签:

【中文标题】使用 Adob​​e AIR 获取任何 USB 磁盘信息【英文标题】:Get any usb disk info with Adobe AIR 【发布时间】:2012-10-27 18:28:37 【问题描述】:

我已经为此苦苦挣扎了几天,所以我来这里发帖。

我有一个从 USB 驱动器运行的空中应用程序。 我只是希望能够检测文件是否已移动到新的 USB 磁盘上。

有什么方法可以获取磁盘上的任何信息,例如:

文件所在 USB 磁盘中的任何硬件信息(ID、品牌、序列号...)? USB 磁盘大小(不是可用空间,因为它可能会改变) 还有什么不能从一个磁盘复制到另一个磁盘的吗?

我唯一可以访问的是磁盘的名称,但两个磁盘很容易具有相同的名称。

我也尝试使用“从 Internet 下载”标志,但它似乎不起作用。

如果你能帮助我,非常感谢。

卡尔腾先生

【问题讨论】:

我怀疑您是否可以从 AS3 获取任何此类信息,但大概您可以使用原生扩展来获取您想要的信息。 我从未见过这样的事情,在阅读help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/… 时,如果实际上没有任何东西存在,我看不到你正在寻找的下一步,我认为是调查本机扩展。啊,看到像素大象打败了我。 【参考方案1】:

在 Adob​​e AIR 2.0 之后,他们引入了一个新的 API 来处理 StorageVolumes 您可以在此处获取参考和示例。 http://help.adobe.com/en_US/air/reference/html/flash/filesystem/StorageVolumeInfo.html

使用此方法获取所有外部/内部连接的存储卷。

import flash.filesystem.StorageVolume;
import flash.filesystem.StorageVolumeInfo;

var volumes = StorageVolumeInfo.storageVolumeInfo.getStorageVolumes(); 
for (var i = 0; i < volumes.length; i++) 
 
    var volume:StorageVolume = volumes[i];
    trace ("Name ::" + volume.name);
    trace ("Path ::" + volume.rootDirectory.nativePath); 
    trace ("isRemovable ::" + volume.isRemovable);

【讨论】:

【参考方案2】:

这可能是向 AIR 公开该信息的另一种方式:http://www.mikechambers.com/blog/2008/01/17/commandproxy-net-air-integration-proof-of-concept/

【讨论】:

以上是关于使用 Adob​​e AIR 获取任何 USB 磁盘信息的主要内容,如果未能解决你的问题,请参考以下文章

将 Flex 转换为 Adob​​e Air

在 Adob​​e Air 中获取当前登录的操作系统用户

如何使用适用于 Android 的 Adob​​e AIR 设置 Admob

在 Android/iOS 中使用 Adob​​e AIR 播放 AAC 流

上传 Adob​​e Air APK 300MB

选择大量文件时 Adob​​e Air 应用程序关闭