USB外接输入设备(如:键盘,鼠标等)的监听_移动鼠标usb监听,来一份全面的面试宝典练练手

50 阅读2分钟

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。 img img

如果你需要这些资料,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

iFilter.addAction(Intent.ACTION_MEDIA_UNMOUNTED);

 

iFilter.addDataScheme( "file" );

mBroadcastReceiver = new  USBBroadCastReceiver();

registerReceiver(mBroadcastReceiver, iFilter);

private class USBBroadCastReceiver extends BroadcastReceiver {

@Override

public void onReceive(Context context, Intent intent) {

String action = intent.getAction();

 

if  (action.equals(Intent.ACTION_MEDIA_EJECT)) {

//USB设备移除,更新UI

} else  if  (action.equals(Intent.ACTION_MEDIA_MOUNTED)) {

//USB设备挂载,更新UI

}

}

}

|

2.获得挂载的USB设备的存储空间使用情况

 StatFs 一个模拟linux的df命令的一个类,获得SD卡和手机内存的使用情况

 StatFs 常用方法:

 getAvailableBlocks() 

| 返回 Int ,获取当前可用的存储空间 

| |  getBlockCount() 

| 返回 Int ,获取该区域可用的文件系统数 

| |  getBlockSize() 

| 返回 Int ,大小,以字节为单位,一个文件系统 

| |  getFreeBlocks() 

| 返回 Int ,该块区域剩余的空间 

| |  restat(String path) 

| 执行一个由该对象所引用的文件系统

|

// 获得挂载的USB设备的存储空间使用情况

public static String getAvailableStore(Context context,String filePath) {

// 取得sdcard文件路径

StatFs statFs = new  StatFs(filePath);

// 获取block的SIZE

long blocSize = statFs.getBlockSize();

 

// 获取BLOCK总数量

long totalBlocks = statFs.getBlockCount();

// 可使用的Block的数量

long availaBlock = statFs.getAvailableBlocks();

 

// long total = totalBlocks * blocSize;

long availableSpare = availaBlock * blocSize;

 

String usedSize = Formatter.formatFileSize(context, (totalBlocks - availaBlock) * blocSize);

String availableSize = Formatter.formatFileSize(context, availaBlock * blocSize);

 

return  usedSize + " / "  + availableSize; // 空间:已使用/可用的;

}

|

3,USB外接输入设备(如:键盘,鼠标,扫描枪)

try 
{

//获得外接USB输入设备的信息

Process p=Runtime.getRuntime().exec( "cat /proc/bus/input/devices" );

BufferedReader in  = new  BufferedReader( new  InputStreamReader(p.getInputStream()));

String line = null ;

while ((line = in .readLine())!= null ){

String deviceInfo = line.trim();

//对获取的每行的设备信息进行过滤,获得自己想要的。

}

 

img img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取