在Qt应用程序中,我开发了基于ARM的嵌入式系统,我必须检测何时插入 USB pendrive 及其包含的内容,因为我想显示包含Windows上的文件,允许用户选择其中一个。 为了我必须:
尝试解释:我有一个要在外部设备中保存和恢复的文件。它包含一些与我使用Qt为嵌入式系统(基于ARM微控制器)开发的应用程序相关的设置。 我已经为SD卡做了同样的事情,因为我确切地知道将打开什么样的设备,它的路径,名称等。 如果我想使用USB pendrive进行同样的操作,则存在问题,因为每个人都有自己的名字。因此,我首先不知道它的路径(我想“/ media / myusername”,即插入时我发现USB的地方),以及如何打开它。 我开始使用QFileSystemWatcher库进行一些试验:我将directoryChanged Signal连接到显示文件夹的插槽。它有效,但还不够进一步。 任何解决方案?
怎么做?
答案 0 :(得分:2)
使用udevadm
(udevadm monitor | grep ...
),libudev
或udev rules
<获取有关附加USB设备的通知的正常方法是 udev / p>
<强> http://www.signal11.us/oss/udev/ 强>
<强> https://unix.stackexchange.com/questions/116536/usb-connect-disconnect-notification 强>
Can linux signal my Qt program when a particular USB device is connected?
https://askubuntu.com/questions/27948/usb-device-changes-using-udev-and-d-bus
HAL在Linux中已弃用... http://madison-project.wdfiles.com/local--files/tutorials/Hal_Tutorial.pdf linux hotplugging