赞
踩
两种方式,一种是注册通信句柄去监测内核发送的消息,一种是直接读取文件。第一种网上有很多,可以自行百度,但是这种方式只能识别热插拔,下面主要介绍通过读取文件去识别U盘及SD卡节点,实现挂载。
两个目录及一个文件,分别是/sys/dev/block、/dev及/proc/mounts,先通过读取/sys/dev/block下面的连接属性及设备标识符(readlink函数),去确定是否存在USB设备和SD卡类设备,USB设备标识符为usb,SD卡的标识符一般为mmc0,然后再看节点信息,在读取的连接的最尾部可以看到block,后面的第一个为根节点,第二个为实际虚拟几点,然后去/dev下面查找第二个节点,通过读取/proc/mounts(和使用mount指令一致)查看此设备是否挂载,如果没挂载实现设备自动挂载。安卓设备也一致,不过节点存储目录发生了改变,稍微改变一下即可。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。