2

在许多帖子中,我看到自 Android 3.1 以来,可以将设备用作 USB 主机。虽然这很好,但实际上并不是我需要的功能。我只需要通过设备的 USB 端口进行通信,这意味着发送和接收命令。在这种情况下谁充当主机对我来说并不重要,PC 可以是主机,我的设备可以是客户端。android 是否有允许我通过 USB 端口发送命令并从另一端接收答案的功能(在当前情况下,我的计算机和一个在 USB 端口上侦听设备的应用程序)。

我已经尝试使用清单中的 uses-feature 将我的设备作为主机(它是 Asus Transformer Pad)的方法,但是无论连接到设备(扩展坞、PC、另一个安卓设备)。

4

2 回答 2

0

我知道我们亚行的一些计划

因此,这可能是您的一个选择,具体取决于您想做什么。

在这里检查:http ://android-dls.com/wiki/index.php?title=ADB

于 2012-10-26T17:10:10.093 回答
0

您需要有支持 API 或 SDK 的 USB 数据传输线(也称为 USB 数据连接线),然后使用以下代码。通信速度比使用 USB 上的 WinSock(TCP/IP) 或 USB 上的串行端口快得多。USB2.0通信速度为480Mbps,有效数据通信速度大于100Mbps,可隔离病毒和网络攻击。

void CU2uDlg::OnOK() 
{
BYTE        buf[65530];
LPU2URET    pU2uRet;
BOOL        bRet;
int         ret;
CString     msgstr;

ret = u2u_open();
if (ret == -1){
    AfxMessageBox("Open U2U device Success.");
}else{
    msgstr.Format("Open U2U device fail,return:%d", ret);
    AfxMessageBox(msgstr);
    return;
}

//send data
bRet = u2u_SendData(buf, 65530, ret);
if(!bRet)
{
    msgstr.Format("Send data error,return:%d", ret);
    AfxMessageBox(msgstr);
    return;
}

//receive data
while (1){
    bRet = u2u_RecvData(recvData, dataLen, ret);
    if( !bRet )
    {
        msgstr.Format("Receive data error,return:%d", ret);
        AfxMessageBox(msgstr);
        u2u_close();
        return;
    }else{
        break;
    }
}
u2u_close();


}

请参阅: 参考 1参考 2

于 2013-11-11T22:07:13.507 回答