USB Host USB Host,中文意思是USB 主模式,是相对于USB accessory (USB 副模式)来说的,前者是在android 设备上插入一USB 设备,android 设备做为主机运行;后者也是在android 设备上通过USB 数据线插入另外一个设备,但插入的设备可以是一个完整的独立主机,也就是可以是另外一个android 设备。需要注意的是以上两种模式在android API lev el-12 以下是不支持的,也就是说只有 android3.1及更高的版本才支持这两种模式,下面对USB 主模式做一简介: 1.Us bManager 负责管理 USB 设备的类,你可以在相应代码中通过以下方法获得此对象的一个实例:UsbManager manager = (UsbManager) getSy stemServ ice(Contex t.USB_SERVICE); 该类提供的主要方法有: 1) getDeviceList() 获得设备列表,返回的是一个HashMap.; 2) hasPermission(UsbDevice device) 判断你的应用程序是否有接入此 USB 设备的权限,如果有则返回真,否则返回 false. 3) openDevice(UsbDevice device) 打开 USB 设备,以便向此 USB 设备发送和接受数据,返回一个关于此 USB 设备的连接。 4) requestPermission(UsbDevice device, PendingIntent pi) 向 USB 设备请求临时的接入权限。 2.Us bDev 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。 3.UsbInterface 代表USB 设备的一个接口,注意:UsbInterface 本身是一个类,并不是一个接口。此类的主要方法有以下: 1) getId() 得到给接口的id 号。 2) getInterfaceClass() 得到该接口的类别。 3) getInterfaceSubclass() 得到该接口的子类。 4) getInterfaceProtocol() 得到该接口的协议类别。 5) get...