Android的UsbManager類用于管理和控制USB設備的連接和通信。要使用UsbManager來管理數據,你需要遵循以下步驟:
UsbManager usbManager = (UsbManager) getSystemService(Context.USB_SERVICE);
Map<String, UsbDevice> deviceList = usbManager.getDeviceList();
Iterator<UsbDevice> deviceIterator = deviceList.values().iterator();
while (deviceIterator.hasNext()) {
UsbDevice device = deviceIterator.next();
// 處理設備
}
UsbDeviceConnection connection = deviceList.get("device_name");
connection.openDevice(usbManager);
UsbEndpoint endpointIn = connection.getEndpoint(0); // 輸入端點
UsbEndpoint endpointOut = connection.getEndpoint(1); // 輸出端點
// 發送數據
byte[] sendData = "Hello, USB!".getBytes();
int bytesSent = endpointOut.write(sendData);
// 接收數據
byte[] receiveData = new byte[1024];
int bytesRead = endpointIn.read(receiveData);
connection.close();
注意:在處理USB設備時,請確保已經添加了必要的權限。在AndroidManifest.xml文件中添加以下權限:
<uses-feature android:name="android.hardware.usb.host" />
<uses-permission android:name="android.permission.USB_PERMISSION" />
此外,對于Android 6.0(API級別23)及更高版本,需要在運行時請求USB權限。你可以在代碼中檢查是否已獲得權限,如果沒有,可以引導用戶前往設置頁面授權。