0

我正在研究 USB 串行。我想做一个 Nexus 从 USB 读取数据。

我找到了示例项目来做到这一点。这里

所以,我克隆了这个项目并遵守了eclipse。一切正常。我可以安装和运行我的应用程序。当应用程序使用意图插入 Nexus 时,该应用程序可以找到我的 USB。

但是,我无法读取和写入数据。代码如下:

protected void onResume() {
    super.onResume();
    mSerialDevice = UsbSerialProber.acquire(mUsbManager);
    Log.d(TAG, "Resumed, mSerialDevice=" + mSerialDevice);

    if (mSerialDevice == null) {
        mTitleTextView.setText(String.valueOf(mSerialDevice));
    } 
    else{
        ...
        ...
    }
    ....
}

我阅读了所有的代码。我发现“mSerialDevice”始终为空。实际上,else 循环中放置了一条读取数据的指令。我试图调试,但我找不到它为空的任何原因。我需要你帮忙.. :(

预先感谢 !

4

1 回答 1

0

现在,我找到了解决它的方法。实际上,我真的不知道为什么它为空,但我通过使用以下代码改变了这样做的方式:

HashMap<String, UsbDevice> deviceList = mUsbManager.getDeviceList();
Iterator<UsbDevice> deviceIterator = deviceList.values().iterator();
UsbDevice device = null;
while (deviceIterator.hasNext()) {
    ...
}

我可以读取供应商 ID、产品 ID 等。但是,我仍然不知道如何读取我的 USB 所在的文件夹。如果有人知道我需要你的帮助。

谢谢你。

于 2013-04-27T19:20:40.567 回答