如何以编程方式获取连接到Android设备的USB设备的ID(或一些唯一属性)?

dtcbnfnu  于 2023-05-21  发布在  Android
关注(0)|答案(3)|浏览(299)

如何获取连接到我的Android设备的USB设备的ID(或一些独特的属性)?

1cosmwyk

1cosmwyk1#

对于任何不熟悉UsbDevice的人来说,可能值得注意UsbManager的使用

UsbManager usbManager = (UsbManager) getSystemService(Context.USB_SERVICE);
HashMap<String, UsbDevice> usbDevices = usbManager.getDeviceList();

阅读更多http://developer.android.com/reference/android/hardware/usb/UsbManager.html

tvokkenx

tvokkenx2#

您可以使用UsbDevice.getDeviceId()方法获取Android连接的USB设备的唯一ID。
请查看以下链接了解更多详情。http://developer.android.com/reference/android/hardware/usb/UsbDevice.html#getDeviceId()
超过Id,请检查类“UsbDevice”的其他方法。http://developer.android.com/reference/android/hardware/usb/UsbDevice.html

lzfw57am

lzfw57am3#

您可以使用UsbDevice.getVendorId()UsbDevice.getProductId()的组合,只要用户不连接相同型号的设备两次,这应该几乎不会发生。
假设供应商ID为max。4个十六进制数字,您可以将供应商ID左移16位,然后添加产品ID,以获得特定于型号的唯一int标识符。Kotlin代码:

val device: UsbDevice = ...
int modelId = (device.vendorId shl 16) + device.productId

相关问题