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

Added in API level 5
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

Added in API level 5
public static final int GL_ES_VERSION_UNDEFINED

Default value for reqGlEsVersion;

Constant Value: 0 (0x00000000)

Fields

CREATOR

Added in API level 5
public static final Creator<FeatureInfo> CREATOR

flags

Added in API level 5
public int flags

Additional flags. May be zero or more of FLAG_REQUIRED.

name

Added in API level 5
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

Added in API level 5
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

Added in API level 24
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

Added in API level 5
public FeatureInfo ()

FeatureInfo

Added in API level 5
public FeatureInfo (FeatureInfo orig)

Parameters
orig FeatureInfo

Public methods

describeContents

Added in API level 5
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

Added in API level 5
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

Added in API level 5
public String toString ()

Returns a string representation of the object.

Returns
String a string representation of the object.

writeToParcel

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

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