使用 Adobe AIR 获取任何 USB 磁盘信息
Posted
技术标签:
【中文标题】使用 Adobe 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】:在 Adobe 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/
【讨论】:
以上是关于使用 Adobe AIR 获取任何 USB 磁盘信息的主要内容,如果未能解决你的问题,请参考以下文章
如何使用适用于 Android 的 Adobe AIR 设置 Admob