У меня проблема с подключением от UsbDeviceConnection.Я не могу использовать serialPort.open?Когда я удаляю UsbEndpoint и UsbInterface, connection.claimInterface и bulkTransfer, которые я получаю в своем приложении, не может открыть порт без приложения для сбоя
Но если я использую здесь код, я получаю: E / UsbManager: исключение в UsbManager.openDevicejava.lang.SecurityException: пользователь не дал разрешения на устройство UsbDevice ...
BroadcastReceiver mUsbReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
// UsbDevice device = intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);
// UsbDeviceConnection connection = usbManager.openDevice(device);
// handleIntent(getIntent());
if (UsbManager.ACTION_USB_DEVICE_ATTACHED.equals(action)) {
UsbDevice device = intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);
UsbDeviceConnection connection = usbManager.openDevice(device);
UsbInterface intf = device.getInterface(0);
UsbEndpoint endpoint = intf.getEndpoint(0);
connection.claimInterface(intf, true);
connection.bulkTransfer(endpoint, "test".getBytes(), "test".length(), 0);
if(device != null) {
// printSomething();
UsbSerialDevice serialPort = UsbSerialDevice.createUsbSerialDevice(device, connection);
boolean granted = intent.getExtras().getBoolean(UsbManager.EXTRA_PERMISSION_GRANTED);
if(granted) {
serialPort.open();
showCommand.setText("serial port " + serialPort.syncOpen());
}
else{
showCommand.setText("Can't open port" + endpoint.getType());
}
}
else{
// showCommand.setText("Test");
printSomething();
}
}
}
};