Android 4.4 定制需求:插入U盘时不进入Es文件浏览器
直接上结论。只用在packageMatchesLocked() 方法中进行判断即可
frameworks/base/services/java/com/android/server/usb/UsbSettingsManager.java 中的 packageMatchesLocked() 方法
下面简单看下流程。
1、有设备挂载后,就会调用
frameworks/base/services/java/com/android/server/usb/UsbSettingsManager.java 中的deviceAttached()方法
此方法内主要就是打算启动对应的应用。需要启动的应用应该就是通过这个 getDeviceMatchesLocked() 方法。
2、然后主要是通过packageMatchesLocked() 判断这个应用是否符合这个设备。然后看看这个方法是怎么进行过滤的
3、通过loadXmlMetaData() 来查找有没有符合的metaData , 如果有"usb-device" 或者"usb-accessory"就认为是符合需要启动的应用