Registro de interés en dispositivos USB
Si desea que su aplicación detecte un dispositivo USB específico, puede especificar un filtro de intención de filtroandroid.hardware.usb.action.USB_DEVICE_ATTACHED
intención.
Junto con este filtro de intención, debe especificar un archivo de recursos que especifique las propiedades del dispositivo USB, como el producto y el ID del proveedor.
Debido a que el escáner detecta la interfaz de comunicación usando CH340, La identificación del proveedor y la identificación del producto de este chip se utilizan en el archivo de filtro del dispositivo.
Consultar el dispositivo
Solicitar permiso para acceder al dispositivo
Configuración del canal de comunicación
Enviar / recibir datos al dispositivo
No entraré en más detalles I2C bus de comunicación serial
La siguiente es la configuración predeterminada del escáner de código de barras. La comunicación USB se ha configurado para su uso a través de controlTransfer método de la clase USBDeviceConnection
Esta es un proyecto de código abierto bien documentado que admite todos los chips populares de USB a serie (FTDI, Prolific, Silabs, Qinheng). Lo usé como guía para programar un lector de código de barras, que es un chip Qinheng CH340