繁体   English   中英

Android:如何检测已连接的USB设备?

[英]Android : how to detect already connected usb device?

我正在尝试检测已经连接到 android 的 USB 设备。 我知道有一些操作可以检测 USB 何时连接或断开。 但是我真的不知道如何在将 USB 设备连接到 android 后检查设备。 另外,我发现每个 USB 设备都有它的设备类代码,但我如何确定连接的是哪种设备? 例如,我需要检测 USB 鼠标和键盘; 我如何区分它们?

尝试这个:

  1. 首先注册用于 USB 连接的广播。 清单许可:

<intent-filter> <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" /> </intent-filter>
  1. 使用此获取带有详细信息的 USB 设备列表

    public void getDetail() { UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE); HashMap<String, UsbDevice> deviceList = manager.getDeviceList(); Iterator<UsbDevice> deviceIterator = deviceList.values().iterator(); while (deviceIterator.hasNext()) { UsbDevice device = deviceIterator.next(); manager.requestPermission(device, mPermissionIntent); String Model = device.getDeviceName(); int DeviceID = device.getDeviceId(); int Vendor = device.getVendorId(); int Product = device.getProductId(); int Class = device.getDeviceClass(); int Subclass = device.getDeviceSubclass(); }}

在这里回答 Benny 的问题是 mPermissionIntent 的样子:

string actionString = context.PackageName + ".action.USB_PERMISSION";

PendingIntent mPermissionIntent = PendingIntent.GetBroadcast(context, 0, new 
Intent(actionString), 0);
mUsbManager.RequestPermission(device, permissionIntent);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM