# Print output for @column tags ?> FeatureInfo - Android SDK | Android Developers

Most visited

Recently visited

FeatureInfo

public class FeatureInfo
extends Object implements Parcelable

java.lang.Object
   ↳ android.content.pm.FeatureInfo


Definition of a single optional hardware or software feature of an Android device.

This object is used to represent both features supported by a device and features requested by an app. Apps can request that certain features be available as a prerequisite to being installed through the uses-feature tag in their manifests.

Starting in Build.VERSION_CODES.N, features can have a version, which must always be backwards compatible. That is, a device claiming to support version 3 of a specific feature must support apps requesting version 1 of that feature.

Summary

Constants

int FLAG_REQUIRED

Set on flags if this feature has been required by the application.

int GL_ES_VERSION_UNDEFINED

Default value for reqGlEsVersion;

Inherited constants

Fields

public static final Creator<FeatureInfo> CREATOR

public int flags

Additional flags.

public String name

The name of this feature, for example "android.hardware.camera".

public int reqGlEsVersion

The GLES version used by an application.

public int version

If this object represents a feature supported by a device, this is the maximum version of this feature supported by the device.

Public constructors

FeatureInfo()
FeatureInfo(FeatureInfo orig)

Public methods

int describeContents()

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

String getGlEsVersion()

This method extracts the major and minor version of reqGLEsVersion attribute and returns it as a string.

String toString()

Returns a string representation of the object.

void writeToParcel(Parcel dest, int parcelableFlags)

Flatten this object in to a Parcel.

Inherited methods

Constants

FLAG_REQUIRED

public static final int FLAG_REQUIRED

Set on flags if this feature has been required by the application.

Constant Value: 1 (0x00000001)

GL_ES_VERSION_UNDEFINED

public static final int GL_ES_VERSION_UNDEFINED

Default value for reqGlEsVersion;

Constant Value: 0 (0x00000000)

Fields

CREATOR

public static final Creator<FeatureInfo> CREATOR

flags

public int flags

Additional flags. May be zero or more of FLAG_REQUIRED.

name

public String name

The name of this feature, for example "android.hardware.camera". If this is null, then this is an OpenGL ES version feature as described in reqGlEsVersion.

reqGlEsVersion

public int reqGlEsVersion

The GLES version used by an application. The upper order 16 bits represent the major version and the lower order 16 bits the minor version. Only valid if name is null.

version

public int version

If this object represents a feature supported by a device, this is the maximum version of this feature supported by the device. The device implicitly supports all older versions of this feature.

If this object represents a feature requested by an app, this is the minimum version of the feature required by the app.

When a feature version is undefined by a device, it's assumed to be version 0.

Public constructors

FeatureInfo

public FeatureInfo ()

FeatureInfo

public FeatureInfo (FeatureInfo orig)

Parameters
orig FeatureInfo

Public methods

describeContents

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

getGlEsVersion

public String getGlEsVersion ()

This method extracts the major and minor version of reqGLEsVersion attribute and returns it as a string. Say reqGlEsVersion value of 0x00010002 is returned as 1.2

Returns
String String representation of the reqGlEsVersion attribute

toString

public String toString ()

Returns a string representation of the object. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.

The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:

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

Returns
String a string representation of the object.

writeToParcel

public void writeToParcel (Parcel dest, 
                int parcelableFlags)

Flatten this object in to a Parcel.

Parameters
dest Parcel: The Parcel in which the object should be written.

parcelableFlags 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