Java 从USB设备接收数据

Java 从USB设备接收数据,java,android,usb,Java,Android,Usb,我尝试向usb设备发送命令并获得响应。这是一个定制的扫描仪。我和它有联系,这很好。我现在需要做的是发送命令DA AD 02 74 00打开设备。我这样定义命令: private final byte[] send = new byte[]{ (byte) 0xDA, (byte) 0xAD, // const (byte) 0x02, (byte) 0x74, (byte) 0x00, // com }; mT

我尝试向usb设备发送命令并获得响应。这是一个定制的扫描仪。我和它有联系,这很好。我现在需要做的是发送命令DA AD 02 74 00打开设备。我这样定义命令:

private final byte[] send = new byte[]{
                (byte) 0xDA, (byte) 0xAD,  // const
                (byte) 0x02, (byte) 0x74, (byte) 0x00, // com

        };
mTestButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                UsbConnector connector = new UsbConnector(getApplicationContext(), device, listener);
                connector.run();
                connector.send(send);
                Toast.makeText(MainActivity.this, "BYTE" + send, Toast.LENGTH_SHORT).show();
                mRunning = true;
                while (mRunning) {
                    byte[] received = connector.receive(36);
                    if (received == null) {
                        Toast.makeText(MainActivity.this, "NULL", Toast.LENGTH_SHORT).show();
                        mRunning=false;
                    }
                    if (received != null) {
                        Toast.makeText(MainActivity.this, "NIE NULL", Toast.LENGTH_SHORT).show();
                        mRunning=false;
                    }
                }
            }
我有一个UsbConnector.class,我在其中设置连接并执行其他奇怪的操作。我还有两种发送和接收数据的方法:

 public int send(byte[] bytes) {
       return currentUsbDeviceConnection.bulkTransfer(currentUsbEndpointOut, bytes, bytes.length, SEND_TIMEOUT);


}


public byte[] receive(int length) {
    byte[] bytes = new byte[length];
    int result = currentUsbDeviceConnection.bulkTransfer(currentUsbEndpointIn, bytes, bytes.length, RECEIVE_TIMEOUT);
    if (result >= 0) {
        return bytes;
    }
    return null;
}
我想在单击按钮后发送数据,如下所示:

private final byte[] send = new byte[]{
                (byte) 0xDA, (byte) 0xAD,  // const
                (byte) 0x02, (byte) 0x74, (byte) 0x00, // com

        };
mTestButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                UsbConnector connector = new UsbConnector(getApplicationContext(), device, listener);
                connector.run();
                connector.send(send);
                Toast.makeText(MainActivity.this, "BYTE" + send, Toast.LENGTH_SHORT).show();
                mRunning = true;
                while (mRunning) {
                    byte[] received = connector.receive(36);
                    if (received == null) {
                        Toast.makeText(MainActivity.this, "NULL", Toast.LENGTH_SHORT).show();
                        mRunning=false;
                    }
                    if (received != null) {
                        Toast.makeText(MainActivity.this, "NIE NULL", Toast.LENGTH_SHORT).show();
                        mRunning=false;
                    }
                }
            }
但我仍然在接收时变为空。请帮忙:/