首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >USB设备- UsbManager不会枚举

USB设备- UsbManager不会枚举
EN

Stack Overflow用户
提问于 2013-01-17 00:00:23
回答 1查看 3.2K关注 0票数 2

我正在把我造的一个USB设备(由dsPIC33E供电)连接到一个通用的7“A13-MID。

我使用的是运行LogCat的ADB over TCPIP。

当我插入我的设备时,我在LogCat中得到这样的结果:

代码语言:javascript
复制
I/USB3G (90): event { 'add', '/devices/platform/sw_hcd_host0/usb1/1-1', 'usb', '', 189, 7 }
I/USB3G (90): path : '/sys/devices/platform/sw_hcd_host0/usb1/1-1'
I/USB3G (90): VID :size 5,vid_path '/sys/devices/platform/sw_hcd_host0/usb1/1-   1/idVendor',VID  '04d8'.
I/USB3G (90): PID :size 5,Pid_path '/sys/devices/platform/sw_hcd_host0/usb1/1-1/idProduct',PID  '003f'.
I/USB3G (90): cmd=/system/etc/usb_modeswitch.sh /system/etc/usb_modeswitch.d/04d8_003f &,
I/USB3G (90): excute ret : 0,err:No such file or directory

我有MissileLauncher演示运行在调试模式ADT。

我可以在Fire中设置一个断点,当我按下Fire按钮时,代码就会在那里中断(所以调试是有效的)。

我已经在device_filter.xml中将产品ID和供应商ID设置为正确的值。

代码语言:javascript
复制
UsbDevice device = (UsbDevice)intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);
if (UsbManager.ACTION_USB_DEVICE_ATTACHED.equals(action)) {
    setDevice(device);
} else if (UsbManager.ACTION_USB_DEVICE_DETACHED.equals(action)) {
    if (mDevice != null && mDevice.equals(device)) {
        setDevice(null);
    }
}

当我在中断之后单步执行代码时,意图。行被执行,但是没有输入下面的if语句,并且永远不会调用setDevice(device) (setDevice(null)也不是)。

我确实预料到会调用setDevice(设备)。毕竟,我已经把设备插好了,安卓看到我把它插上了(参见上面的LogCat ),而且我的device_filter.xml设置正确了。

我遗漏了什么?

其他信息,我安装的一款应用程序“USB设备”可以看到该设备,但会将其列在Linux选项卡下。我希望这对我来说不是坏消息!

谢谢,戴尔

我试图逐个枚举设备,但没有'Yeah‘(实际上在HashMap中没有设备返回):

代码语言:javascript
复制
HashMap<String, UsbDevice> deviceList = mUsbManager.getDeviceList();
Iterator<UsbDevice> deviceIterator = deviceList.values().iterator();
while(deviceIterator.hasNext()){
    UsbDevice device1 = deviceIterator.next();
    //your code
    if (device1.getVendorId()==1240) {
        savetofile("Yeah!");
    }
} 

不确定这是否相关,但android是根深蒂固的,它是这样来的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-17 03:52:24

事实证明,我需要使用root权限,并进行我在这个已回答的问题中发现的更改:

Android USB host and hidden devices

我是在正确的轨道上,现在我是:)再次。我相信其他人会发现我寻找这个答案是有帮助的。

但是,只有HashMap枚举方法有效,意图筛选器方法仍然以android.intent.action.MAIN形式返回操作。

感谢您的投入!

戴尔

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14362530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档