2

多くの投稿で、Android 3.1以降、デバイスをUSBホストとして使用できるようになっていることを確認しました。これは素晴らしいことですが、実際には必要な機能ではありません。必要なのは、デバイスのUSBポートを介した通信です。これは、コマンドの送受信を意味します。このシナリオで誰がホストとして機能するかは私にとって重要ではありません。PCをホストにし、私のデバイスをクライアントにすることができます。usbポートを介してコマンドを送信し、もう一方の端(現在の場合は私のコンピューターとデバイスのUSBポートでリッスンするアプリケーション)から応答を受信できるAndroidの機能はありますか?

マニフェストのuses-featureを使用して、デバイスがホスト(Asus Transformer Pad)であるアプローチを試しましたが、UsbManager.getDeviceListは、デバイス(ドック、PC、別のAndroidデバイス)。

4

2 に答える 2

0

私はADBのいくつかのプログラムを知っています

ですから、あなたが何をしたいかによっては、それはあなたにとっての選択肢かもしれません。

こちらを確認してください: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 に答える