android手机连接后设备管理卡死,android 在使用UsbManager设备遇到的问题总结

本文主要介绍了Android设备作为主机模式时,如何使用UsbManager进行USB设备管理,包括获取UsbDevice、筛选接口、获取权限、设备通信及终止通信的方法。详细阐述了UsbDevice的属性检查、UsbInterface与UsbEndpoint的选择,以及USB权限的获取和使用。
摘要由CSDN通过智能技术生成

下面的场景都是安卓设备作为主机模式来说明的

Android系统提供在设备为主机模式下的Usb管理工具UsbManager,相关的类说明:

UsbDevice:连接到Android主机的Usb设备,一个或多个

UsbInterface: UsbDevice中提供的功能接口,一个或多个

UsbEndpoint: UsbInterface中提供的数据传输通道,一个或多个

通过Usb连接的两个设备,怎么区分主机(host )和从(accessory/配件)?

f796283ca65dee7059a957dab4b824fd.png

上图中B连接的是主机,A连接的是外设。手持Android设备没有B的插口,可以使用OTG转接线

怎么获取和筛选连接到安卓设备(主机)上的UsbDevice?

UsbManager manager = (UsbManager) context.getSystemService(Context.USB_SERVICE); ... HashMap deviceList = manager.getDeviceList(); UsbDevice device = deviceList.get("deviceName");

通过UsbDevice 的mClass类别来区分

//UsbDevice.java public int getDeviceClass() { return mClass; }

不同的类别

//UsbConstants.USB_CLASS_前缀的常量 /**<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值