1.当不同设备热插拔后如何区别谁在进行插拔操作?
通过UsbManager获取UsbDevice中的VID和PID,大部分USB设备的VID和PID是不同的,除了二代证的模块的VID和PID是同一个。
所以可以通过判断VID和PID来区分那一个USB外设进行了插拔操作。
2.安卓终端insmod相关USB外设的KO驱动文件后,重启设备后找不到驱动怎么办?
简单的方法,就是在启动脚本中加载模块,每次开机启动都会自动加载相应的驱动模块。
可以写在/etc/rc.local 文件中 insmod *.ko
或者写到*.sh脚本文件中,通过代码来执行脚本,加载驱动程序。
String cmd = "/system/bin/sh /data/data/path/*.sh";
Runtime.getRuntime().exec(cmd);
除了在应用层加载驱动程序,还可以在底层操作。
const char* cmd= "/system/bin/sh /system/bin/otherko.sh";
system(cmd);