最近在Android捕捉USB设备的插入,相应的功能在一个平台上实现正常后移植到另一平台时发现ACTION_USB_DEVICE_ATTACHED大概率收不到,偶尔一两次收到,却总可以收到查到ACTION_USB_DEVICE_DETACHED,最后发现在我的代码(Android4.2.1)里的frameworks/base/services/java/com/android/server/usb/UsbSettingsManager.java文件的deviceAttached函数里使用mUserContext.sendBroadcast(intent);发广播,将其改为mContext.sendBroadcast(intent);就可解决该问题,也发现有些平台没有该名,则在最后一句resolveActivity(intent, matches, defaultPackage, device, null);之前添加上mContext.sendBroadcast(intent);一句即可解决。
网友评论