android的USB开发时 mUsbManager.getDeviceList()获取都为空

类提供的主要方法有:

  1. getDeviceList()
    获得设备列表,返回的是一个HashMap.;
  2. hasPermission(UsbDevice device)
    判断你的应用程序是否有接入此USB设备的权限,如果有则返回真,否则返回false.
  3. openDevice(UsbDevice device)
    打开USB设备,以便向此USB设备发送和接受数据,返回一个关于此USB设备的连接。
  4. requestPermission(UsbDevice device, PendingIntent pi)
    向USB设备请求临时的接入权限。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Android 中,如果您希望设备始终使用某个应用程序打开 USB 摄像头,可以按照以下步骤进行设置: 1. 在 AndroidManifest.xml 文件中声明 USB 设备访问权限: ```xml <uses-feature android:name="android.hardware.usb.host" /> ``` 2. 在 MainActivity 中使用 UsbManager 打开 USB 摄像头: ```java private UsbManager mUsbManager; private UsbDeviceConnection mConnection; private UsbDevice mDevice; private UsbInterface mInterface; private UsbEndpoint mEndpoint; private void openUsbCamera() { // 获取 USB 设备列表 HashMap<String, UsbDevice> deviceList = mUsbManager.getDeviceList(); // 遍历设备列表,找到指定的 USB 摄像头设备 for (UsbDevice device : deviceList.values()) { if (device.getVendorId() == [USB 摄像头的 Vendor ID] && device.getProductId() == [USB 摄像头的 Product ID]) { // 打开指定的 USB 摄像头设备 mConnection = mUsbManager.openDevice(device); if (mConnection != null) { mDevice = device; break; } } } // 连接 USB 摄像头设备 if (mDevice != null) { // 获取 USB 接口和端点 mInterface = mDevice.getInterface(0); mEndpoint = mInterface.getEndpoint(0); // 打开 USB 接口 if (mConnection.claimInterface(mInterface, true)) { // 开始读取 USB 数据流 ByteBuffer buffer = ByteBuffer.allocate(mEndpoint.getMaxPacketSize()); mConnection.bulkTransfer(mEndpoint, buffer.array(), buffer.array().length, 0); } } } ``` 3. 在 AndroidManifest.xml 文件中为应用程序指定 USB 设备访问过滤器: ```xml <intent-filter> <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" /> </intent-filter> <meta-data android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" android:resource="@xml/usb_device_filter" /> ``` 4. 在 res/xml 文件夹中创建 usb_device_filter.xml 文件,指定要过滤的 USB 设备: ```xml <resources> <usb-device vendor-id="[USB 摄像头的 Vendor ID]" product-id="[USB 摄像头的 Product ID]" /> </resources> ``` 这样,当您的设备连接 USB 摄像头Android 将自动启动您的应用程序并使用您的应用程序打开 USB 摄像头。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FW_G8Z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值