UsbInterface


public class UsbInterface
extends Object implements Parcelable

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


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

Inherited constants

int CONTENTS_FILE_DESCRIPTOR

Descriptor bit used with describeContents(): indicates that the Parcelable object's flattened representation includes a file descriptor.

int PARCELABLE_WRITE_RETURN_VALUE

Flag for use with writeToParcel(Parcel, int): the object being written is a return value, that is the result of a function such as "Parcelable someFunction()", "void someFunction(out Parcelable)", or "void someFunction(inout Parcelable)".

Fields

public static final Creator<UsbInterface> CREATOR

Public methods

int describeContents()

Describe the kinds of special objects contained in this Parcelable instance's marshaled 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 representation of the object.

void writeToParcel(Parcel parcel, int flags)

Flatten this object in to a Parcel.

Inherited methods

Object clone()

Creates and returns a copy of this object.

boolean equals(Object obj)

Indicates whether some other object is "equal to" this one.

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

final Class<?> getClass()

Returns the runtime class of this Object.

int hashCode()

Returns a hash code value for the object.

final void notify()

Wakes up a single thread that is waiting on this object's monitor.

final void notifyAll()

Wakes up all threads that are waiting on this object's monitor.

String toString()

Returns a string representation of the object.

final void wait(long timeoutMillis, int nanos)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait(long timeoutMillis)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait()

Causes the current thread to wait until it is awakened, typically by being notified or interrupted.

abstract int describeContents()

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

abstract void writeToParcel(Parcel dest, int flags)

Flatten this object in to a Parcel.

Fields

CREATOR

Added in API level 12
public static final Creator<UsbInterface> CREATOR

Public methods

describeContents

Added in API level 12
public int describeContents ()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. For example, if the object will include a file descriptor in the output of writeToParcel(android.os.Parcel, int), the return value of this method must include the CONTENTS_FILE_DESCRIPTOR bit.

Returns
int a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or CONTENTS_FILE_DESCRIPTOR

getAlternateSetting

Added in API level 21
public int getAlternateSetting ()

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

Returns
int the interface's alternate setting

getEndpoint

Added in API level 12
public UsbEndpoint getEndpoint (int index)

Returns the UsbEndpoint at the given index.

Parameters
index int

Returns
UsbEndpoint the endpoint

getEndpointCount

Added in API level 12
public int getEndpointCount ()

Returns the number of UsbEndpoints this interface contains.

Returns
int the number of endpoints

getId

Added in API level 12
public int getId ()

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

Returns
int the interface's ID

getInterfaceClass

Added in API level 12
public int getInterfaceClass ()

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

Returns
int the interface's class

getInterfaceProtocol

Added in API level 12
public int getInterfaceProtocol ()

Returns the interface's protocol field.

Returns
int the interface's protocol

getInterfaceSubclass

Added in API level 12
public int getInterfaceSubclass ()

Returns the interface's subclass field.

Returns
int the interface's subclass

getName

Added in API level 21
public String getName ()

Returns the interface's name.

Returns
String the interface's name, or null if the property could not be read

toString

Added in API level 12
public String toString ()

Returns a string representation of the object.

Returns
String a string representation of the object.

writeToParcel

Added in API level 12
public 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. This value cannot be null.

flags int: Additional flags about how the object should be written. May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE. Value is either 0 or a combination of Parcelable.PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES

Discover the latest app development tools, platform updates, training, and documentation for developers across every Android device.

Updated Dec 18, 2024

Discover the latest app development tools, platform updates, training, and documentation for developers across every Android device.

Updated Dec 18, 2024

Discover the latest app development tools, platform updates, training, and documentation for developers across every Android device.

Updated Dec 18, 2024