请帮助我,
在我的项目中,我需要通过 USB 电缆将数据从 android 设备(3.0 及更高版本)传输到 PC,而不依赖于 USB 调试模式选项(不应选择 USB 调试选项)。
那么这可以通过 USB 主机 API 将数据传输到 PC 吗?
提前致谢。
你可以,就像cardock的工作方式一样。
USB主机功能的唯一区别是当android处于主机模式时它提供电源。
这是设备相关的,而不是 API 等级相关的。
但是您不想要主机功能,因为 pc 是主机。
您想处于附件模式。
欲了解更多信息,请查看:附件模式
您需要有一根 USB 数据传输电缆(也称为 USB 数据链路电缆),该电缆
支持 API 或 SDK,然后使用以下代码:
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();
}
看: