[AIR] 对存储器(Storage Volume)监听
AIR 2.0及以上提供了对系统的存储器信息访问和监听的API。通过这些API,你不仅可以访问到硬盘文件系统,同时还可以监听通过USB或火线进行连接的移动存储设备,例如移动硬盘和以存储方式连接到计算机的相机,MP3或手机等等。
你可以通过对系统存储器信息添加监听器来监听这些外部设备的连接、断开状态。
代码示例:
import flash.filesystem.StorageVolumeInfo;
import flash.events.StorageVolumeChangeEvent;
import flash.filesystem.StorageVolume;
import flash.filesystem.File;
var volumes:Vector.<StorageVolume > = new Vector.<StorageVolume > ;
volumes = StorageVolumeInfo.storageVolumeInfo.getStorageVolumes();
for (var i:int = 0; i < volumes.length; i++)
{
trace(volumes[i].rootDirectory.nativePath);//每个装载的存储卷的根目录的本机路径
trace(volumes[i].name);//存储卷名称,命名即为null
trace(volumes[i].rootDirectory.getDirectoryListing());//存储卷根目录下文件列表
trace(volumes[i].drive);//存储卷盘符
//遍历所有存储卷根目录下是否存在DIGITALBOARD文件夹
for (var j:int = 0; j<volumes[i].rootDirectory.getDirectoryListing().length; j++)
{
//trace(volumes[i].rootDirectory.getDirectoryListing()[j].name);
if (volumes[i].rootDirectory.getDirectoryListing()[j].name == "DIGITALBOARD")
{
trace(volumes[i].rootDirectory.nativePath);
trace(File.desktopDirectory);
//var file:File = volumes[i].rootDirectory.nativePath
var file:File = File(volumes[i].rootDirectory.resolvePath(volumes[i].rootDirectory.nativePath + "DIGITALBOARD"));//+File.separator
trace(volumes[i].rootDirectory.nativePath+"DIGITALBOARD");
//file.copyTo(File.desktopDirectory);
//file.browseForOpen("打开");
//file.addEventListener(Event.SELECT,onSelect);
return;
}
}
}
function onSelect(e:Event):void
{
trace("select",e.target.name);
} //监听外部设备连接和断开状态
if (StorageVolumeInfo.isSupported)
{
trace("平台支持 StorageVolumeInfo 类");
//卷装入;
StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_MOUNT, onVolumeMount);
//存储卷卸载;
StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_UNMOUNT, onVolumeUnmount);
}
else
{
trace("平台不支持 StorageVolumeInfo 类");
} function onVolumeMount(e:StorageVolumeChangeEvent):void
{
trace( e.storageVolume.name,"检测到可移动磁盘" );
//trace( e.storageVolume.fileSystemType );
//trace( e.storageVolume.isRemovable );
//trace( e.storageVolume.isWritable );
//trace( e.storageVolume.rootDirectory );
//trace( e.storageVolume.rootDirectory.nativePath );
}
function onVolumeUnmount(e:StorageVolumeChangeEvent):void
{
trace( e.storageVolume.name,"卸载可移动磁盘" );
//trace(e.storageVolume.drive);
}
[AIR] 对存储器(Storage Volume)监听的更多相关文章
- storage 事件监听
在公司的一次内部分享会上, 偶然知道了这个H5的新事件, 解决了我之前的一个bug. 事情是这样的, 第A网页上显示的数量的总和, 点击去是B页面, 可以进行管理, 增加或者删除, 当用户做了增删操作 ...
- HTML5 storage事件监听
引用<h5移动web开发指南>上的话: “当同源页面的某个页面修改了localStorage,其余的同源页面只要注册了storage事件,就会触发” 所以,localStorage st ...
- 详解vuex结合localstorage动态监听storage的变化
这篇文章主要介绍了详解vuex结合localstorage动态监听storage的变化,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 需求:不同组件间共用同一数据,当一个 ...
- 在 Windows Server Container 中运行 Azure Storage Emulator(一):能否监听自定义地址?
我要做什么? 改 ASE 的监听地址.对于有强迫症的我来说,ASE 默认监听的是 127.0.0.1:10000-10002,这让我无法接受,所以我要将它改成域名 + 80 端口的方式: 放到容器中. ...
- 换肤功能的实现以及监听storage实现多个标签页一起换肤
1:需求:项目的侧边栏实现换肤功能,核心代码: updateSkin (val) { const existSkinLink = document.head.querySelector('link[i ...
- 在vue中监听storage的变化
1.首先在main.js中给Vue.protorype注册一个全局方法,其中,我们约定好了想要监听的sessionStorage的key值为’watchStorage’,然后创建一个StorageEv ...
- Sdcard插拔、状态广播监听,Android文件系统,Android存储器相关知识总结
一 SDcard广播监听,注册,取消注册的实现 (1)根据实际需要监听的事件,添加action,并注册,一般在onCreate中添加 //在IntentFilter中选择你要监听的行为 IntentF ...
- Oracle 11gR2 RAC修改监听默认端口
一.修改SCAN listener port 1.1 修改SCAN listener port 1.2 重启SCAN listener生效新端口 1.3 确认更改 二.修改Listener Ports ...
- 涂抹Oracle笔记1-创建数据库及配置监听程序
一.安装ORACLE数据库软件及创建实例OLTP:online transaction processing 指那些短事务,高并发,读写频繁的数据库系统.--DB_BLOCK_SIZE通常设置较小.O ...
随机推荐
- laravel phpstorm IDE 代码提示
第一步:在项目的composer.json中添加如下一行 "require": { "laravel/framework": "5.0.*" ...
- 对称二叉树 · symmetric binary tree
[抄题]: Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). ...
- linux系统/proc/stat信息与top的cup信息的联系及区别
一. /proc 目录 Linux系统上的/proc目录是一种文件系统,即proc文件系统,与其它常见的文件系统不同的是,/proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间.它以文 ...
- /etc/profile、~/.bash_profile等几个文件的执行过程
/etc/profile.~/.bash_profile等几个文件的执行过程 摘自:http://blog.chinaunix.net/uid-14735472-id-3190130.html 分类 ...
- ORACLE 异机恢复
有时候需要将大的数据库发布到客户现场或转移机器时,不得不考虑在异机上恢复已经调整.测试好的库. dumpdp 全备的方法虽然易用,但在处理对象.索引.空间的时候异常的出错,比如:见有些公司,建表.索引 ...
- Spring Boot Reference Guide
Spring Boot Reference Guide Authors Phillip Webb, Dave Syer, Josh Long, Stéphane Nicoll, Rob Winch, ...
- Web测试实践-任务进度-Day02
小组成员 华同学.郭同学.覃同学.刘同学.穆同学.沈同学 任务进度 在经过任务分配阶段后,大家都投入到了各自的任务中,以下是大家今天任务的进度情况汇总. 华同学 & 刘同学(任务1) 1.对爱 ...
- python 输入输出,file, os模块
Python 输入和输出 输出格式美化 Python两种输出值的方式: 表达式语句和 print() 函数. 第三种方式是使用文件对象的 write() 方法,标准输出文件可以用 sys.stdout ...
- list<?>转换成 对应的 class
项目中用到的,list转换成bean.因为查询出来的数据用list 泛型接收,要返回 实体对象.所以需要对应转换. 主要用到的技术:反射. 上代码: public static <T> L ...
- Arcgis Android 坐标转换
http://spatialreference.org/首先,在上面的网站查出现有的坐标srid,然后查出目标Srid. 参考api 示例代码 Point point = new Point(120. ...