Android APIs
public class

UsbInterface

extends Object
implements Parcelable
java.lang.Object
   ↳ android.hardware.usb.UsbInterface

Class Overview

A class representing an interface on a UsbDevice. USB devices can have one or more interfaces, each one providing a different piece of functionality, separate from the other interfaces. An interface will have one or more UsbEndpoints, which are the channels by which the host transfers data with the device.

Developer Guides

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

Summary

[Expand]
Inherited Constants
From interface android.os.Parcelable
Fields
public static final Creator<UsbInterface> CREATOR
Public Methods
int describeContents()
Describe the kinds of special objects contained in this Parcelable's marshalled representation.
int getAlternateSetting()
Returns the interface's bAlternateSetting field.
UsbEndpoint getEndpoint(int index)
Returns the UsbEndpoint at the given index.
int getEndpointCount()
Returns the number of UsbEndpoints this interface contains.
int getId()
Returns the interface's bInterfaceNumber field.
int getInterfaceClass()
Returns the interface's class field.
int getInterfaceProtocol()
Returns the interface's protocol field.
int getInterfaceSubclass()
Returns the interface's subclass field.
String getName()
Returns the interface's name.
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.
[Expand]
Inherited Methods
From class java.lang.Object
From interface android.os.Parcelable

Fields

public static final Creator<UsbInterface> CREATOR

Added in API level 12

Public Methods

public int describeContents ()

Added in API level 12

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

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

public int getAlternateSetting ()

Added in API level 21

Returns the interface's bAlternateSetting field. This is an integer that along with the ID uniquely identifies the interface on the device. setInterface(UsbInterface) can be used to switch between two interfaces with the same ID but different alternate setting.

Returns
  • the interface's alternate setting

public UsbEndpoint getEndpoint (int index)

Added in API level 12

Returns the UsbEndpoint at the given index.

Returns
  • the endpoint

public int getEndpointCount ()

Added in API level 12

Returns the number of UsbEndpoints this interface contains.

Returns
  • the number of endpoints

public int getId ()

Added in API level 12

Returns the interface's bInterfaceNumber field. This is an integer that along with the alternate setting uniquely identifies the interface on the device.

Returns
  • the interface's ID

public int getInterfaceClass ()

Added in API level 12

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

Returns
  • the interface's class

public int getInterfaceProtocol ()

Added in API level 12

Returns the interface's protocol field.

Returns
  • the interface's protocol

public int getInterfaceSubclass ()

Added in API level 12

Returns the interface's subclass field.

Returns
  • the interface's subclass

public String getName ()

Added in API level 21

Returns the interface's name.

Returns
  • the interface's name

public String toString ()

Added in API level 12

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
  • a printable representation of this object.

public void writeToParcel (Parcel parcel, int flags)

Added in API level 12

Flatten this object in to a Parcel.

Parameters
parcel The Parcel in which the object should be written.
flags Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE.