Skip to content

Most visited

Recently visited

navigation
Added in API level 12

UsbDevice

public class UsbDevice
extends Object implements Parcelable

java.lang.Object
   ↳ android.hardware.usb.UsbDevice


This class represents a USB device attached to the android device with the android device acting as the USB host. Each device contains one or more UsbInterfaces, each of which contains a number of UsbEndpoints (the channels via which data is transmitted over USB).

This class contains information (along with UsbInterface and UsbEndpoint) that describes the capabilities of the USB device. To communicate with the device, you open a UsbDeviceConnection for the device and use UsbRequest to send and receive data on an endpoint. controlTransfer(int, int, int, int, byte[], int, int) is used for control requests on endpoint zero.

Developer Guides

For more information about communicating with USB hardware, read the USB developer guide.

Summary

Inherited constants

From interface android.os.Parcelable

Fields

public static final Creator<UsbDevice> CREATOR

Public methods

int describeContents()

Describe the kinds of special objects contained in this Parcelable's marshalled representation.

boolean equals(Object o)

Compares this instance with the specified object and indicates if they are equal.

UsbConfiguration getConfiguration(int index)

Returns the UsbConfiguration at the given index.

int getConfigurationCount()

Returns the number of UsbConfigurations this device contains.

int getDeviceClass()

Returns the devices's class field.

static int getDeviceId(String name)
int getDeviceId()

Returns a unique integer ID for the device.

String getDeviceName()

Returns the name of the device.

static String getDeviceName(int id)
int getDeviceProtocol()

Returns the device's protocol field.

int getDeviceSubclass()

Returns the device's subclass field.

UsbInterface getInterface(int index)

Returns the UsbInterface at the given index.

int getInterfaceCount()

Returns the number of UsbInterfaces this device contains.

String getManufacturerName()

Returns the manufacturer name of the device.

int getProductId()

Returns a product ID for the device.

String getProductName()

Returns the product name of the device.

String getSerialNumber()

Returns the serial number of the device.

int getVendorId()

Returns a vendor ID for the device.

String getVersion()

Returns the version number of the device.

int hashCode()

Returns an integer hash code for this object.

String toString()

Returns a string containing a concise, human-readable description of this object.

void writeToParcel(Parcel parcel, int flags)

Flatten this object in to a Parcel.

Inherited methods

From class java.lang.Object
From interface android.os.Parcelable

Fields

CREATOR

Added in API level 12
Creator<UsbDevice> CREATOR

Public methods

describeContents

Added in API level 12
int describeContents ()

Describe the kinds of special objects contained in this Parcelable's marshalled representation.

Returns
int a bitmask indicating the set of special object types marshalled by the Parcelable.

equals

Added in API level 12
boolean equals (Object o)

Compares this instance with the specified object and indicates if they are equal. In order to be equal, o must represent the same object as this instance using a class-specific comparison. The general contract is that this comparison should be reflexive, symmetric, and transitive. Also, no object reference other than null is equal to null.

The default implementation returns true only if this == o. See Writing a correct equals method if you intend implementing your own equals method.

The general contract for the equals and hashCode() methods is that if equals returns true for any two objects, then hashCode() must return the same value for these objects. This means that subclasses of Object usually override either both methods or neither of them.

Parameters
o Object: the object to compare this instance with.
Returns
boolean true if the specified object is equal to this Object; false otherwise.

getConfiguration

Added in API level 21
UsbConfiguration getConfiguration (int index)

Returns the UsbConfiguration at the given index.

Parameters
index int
Returns
UsbConfiguration the configuration

getConfigurationCount

Added in API level 21
int getConfigurationCount ()

Returns the number of UsbConfigurations this device contains.

Returns
int the number of configurations

getDeviceClass

Added in API level 12
int getDeviceClass ()

Returns the devices's class field. Some useful constants for USB device classes can be found in UsbConstants.

Returns
int the devices's class

getDeviceId

Added in API level 12
int getDeviceId (String name)

Parameters
name String
Returns
int

getDeviceId

Added in API level 12
int getDeviceId ()

Returns a unique integer ID for the device. This is a convenience for clients that want to use an integer to represent the device, rather than the device name. IDs are not persistent across USB disconnects.

Returns
int the device ID

getDeviceName

Added in API level 12
String getDeviceName ()

Returns the name of the device. In the standard implementation, this is the path of the device file for the device in the usbfs file system.

Returns
String the device name

getDeviceName

Added in API level 12
String getDeviceName (int id)

Parameters
id int
Returns
String

getDeviceProtocol

Added in API level 12
int getDeviceProtocol ()

Returns the device's protocol field.

Returns
int the device's protocol

getDeviceSubclass

Added in API level 12
int getDeviceSubclass ()

Returns the device's subclass field.

Returns
int the device's subclass

getInterface

Added in API level 12
UsbInterface getInterface (int index)

Returns the UsbInterface at the given index. For devices with multiple configurations, you will probably want to use getInterface(int) instead.

Parameters
index int
Returns
UsbInterface the interface

getInterfaceCount

Added in API level 12
int getInterfaceCount ()

Returns the number of UsbInterfaces this device contains. For devices with multiple configurations, you will probably want to use getInterfaceCount() instead.

Returns
int the number of interfaces

getManufacturerName

Added in API level 21
String getManufacturerName ()

Returns the manufacturer name of the device.

Returns
String the manufacturer name

getProductId

Added in API level 12
int getProductId ()

Returns a product ID for the device.

Returns
int the device product ID

getProductName

Added in API level 21
String getProductName ()

Returns the product name of the device.

Returns
String the product name

getSerialNumber

Added in API level 21
String getSerialNumber ()

Returns the serial number of the device.

Returns
String the serial number name

getVendorId

Added in API level 12
int getVendorId ()

Returns a vendor ID for the device.

Returns
int the device vendor ID

getVersion

Added in API level 23
String getVersion ()

Returns the version number of the device.

Returns
String the device version

hashCode

Added in API level 12
int hashCode ()

Returns an integer hash code for this object. By contract, any two objects for which equals(Object) returns true must return the same hash code value. This means that subclasses of Object usually override both methods or neither method.

Note that hash values must not change over time unless information used in equals comparisons also changes.

See Writing a correct hashCode method if you intend implementing your own hashCode method.

Returns
int this object's hash code.

toString

Added in API level 12
String toString ()

Returns a string containing a concise, human-readable description of this object. Subclasses are encouraged to override this method and provide an implementation that takes into account the object's type and data. The default implementation is equivalent to the following expression:

   getClass().getName() + '@' + Integer.toHexString(hashCode())

See Writing a useful toString method if you intend implementing your own toString method.

Returns
String a printable representation of this object.

writeToParcel

Added in API level 12
void writeToParcel (Parcel parcel, 
                int flags)

Flatten this object in to a Parcel.

Parameters
parcel Parcel: The Parcel in which the object should be written.
flags int: Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE.
This site uses cookies to store your preferences for site-specific language and display options.

Hooray!

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.