Skip to content

Most visited

Recently visited

added in API level 12


Provides support to communicate with USB hardware peripherals that are connected to Android-powered devices.

For more information, see the USB guide.

Use UsbManager to access the state of the USB and to communicate with connected hardware peripherals. Use UsbDevice to communicate with the hardware peripheral if the Android-powered device is acting as the USB host. Use UsbAccessory if the peripheral is acting as the USB host.


UsbAccessory A class representing a USB accessory, which is an external hardware component that communicates with an android application over USB. 
UsbConfiguration A class representing a configuration on a UsbDevice
UsbConstants Contains constants for the USB protocol. 
UsbDevice This class represents a USB device attached to the android device with the android device acting as the USB host. 
UsbDeviceConnection This class is used for sending and receiving data and control messages to a USB device. 
UsbEndpoint A class representing an endpoint on a UsbInterface
UsbInterface A class representing an interface on a UsbDevice
UsbManager This class allows you to access the state of USB and communicate with USB devices. 
UsbRequest A class representing USB request packet. 
This site uses cookies to store your preferences for site-specific language and display options.


This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a one-minute survey?
Help us improve Android tools and documentation.