I try for a week to run the usb host on android. i try with this two solution :
I try so many possibilities but the application return a error when i try to write or it's "lock" when i try to read...
My last try :
UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE);
ProbeTable customTable = new ProbeTable();
customTable.addProduct(0x15A2, 0x300, CdcAcmSerialDriver.class); //0x15A2 0x300
UsbSerialProber prober = new UsbSerialProber(customTable);
List<UsbSerialDriver> availableDrivers = prober.findAllDrivers(manager);
if (availableDrivers.isEmpty()) {
Toast.makeText(MainActivity.this,"No device detected", Toast.LENGTH_SHORT).show();
return;
}
// Open a connection to the first available driver.
UsbSerialDriver driver = availableDrivers.get(0);
UsbDeviceConnection connection = manager.openDevice(driver.getDevice());
if (connection == null) {
return;
}
// Read some data! Most have just one port (port 0).
UsbSerialPort port = driver.getPorts().get(0);
try {
port.open(connection);
port.setParameters(115200, 8, UsbSerialPort.STOPBITS_1, UsbSerialPort.PARITY_NONE);
final TextView textViewToChange = (TextView) findViewById(R.id.textView);
textViewToChange.setText("port open and parameters up");
byte buffer[] = new byte[32];
byte bufferwrite[] = new byte[1];
buffer[0] = 1;
int numBytesRead = port.write(bufferwrite, 1000);
final TextView textViewToChange2 = (TextView) findViewById(R.id.textView2);
textViewToChange2.setText("port read/write : "+numBytesRead);
} catch (IOException e) {
final TextView textViewToChange2 = (TextView) findViewById(R.id.textView2);
textViewToChange2.setText("error : "+e);
} finally {
try {
port.close();
final TextView textViewToChange4 = (TextView) findViewById(R.id.textView4);
textViewToChange4.setText("Port close");
} catch (IOException e) {
e.printStackTrace();
final TextView textViewToChange4 = (TextView) findViewById(R.id.textView4);
textViewToChange4.setText("Error close port : "+e);
}
}
This line return all time a error :
int numBytesRead = port.write(bufferwrite, 1000);
And i can't solve it. Thanks in advance for your help.