2024年6月3日发(作者:)

USB Host

USB Host,中文意思是USB主模式,是相对于USB accessory(USB副模式)

来说的,前者是在android设备上插入一USB设备,android设备做为主机运行;

后者也是在android设备上通过USB数据线插入另外一个设备,但插入的设备可

以是一个完整的独立主机,也就是可以是另外一个android设备。需要注意的是

以上两种模式在android API level-12以下是不支持的,也就是说只有android3.1

及更高的版本才支持这两种模式,下面对USB主模式做一简介:

ager

负责管理USB设备的类,你可以在相应代码中通过以下方法获得此对象的一个实例:

UsbManager manager = (UsbManager) getSystemService(_SERVICE);

该类提供的主要方法有:

1) getDeviceList()

获得设备列表,返回的是一个HashMap.;

2) hasPermission(UsbDevice device)

判断你的应用程序是否有接入此USB设备的权限,如果有则返回真,否则返回false.

3) openDevice(UsbDevice device)

打开USB设备,以便向此USB设备发送和接受数据,返回一个关于此USB设备的连

接。

4) requestPermission(UsbDevice device, PendingIntent pi)

向USB设备请求临时的接入权限。

ice

代表一个USB设备的类,每个设备都包含了一个或多个接口,每个接口又包含一个

或多个节点用来与此设备传输数据。该类的主要方法有:

1) getDeviceClass()

返回此USB设备的类别,用一个整型来表示。

2) getDeviceId()

返回唯一标识此设备的ID号,也用一个整型来表示。

3) getDeviceName()

返回此设备的名称,用一个字符串来表示。

4) getDeviceProtocol()

返回此设备的协议类别,用一个整型来表示。

5) getDeviceSubclass()

返回此设备的子类别,用一个整型来表示。

6) getVendorId()

返回生产商ID

7) getProductId()

返回产品ID

8) getInterfaceCount()

返回此设备的接口数量

9) getInterface(int index)

得到此设备的一个接口,返回一个UsbInterface。