Added in API level 1

ComponentName


class ComponentName : Cloneable, Comparable<ComponentName!>, Parcelable
kotlin.Any
   ↳ android.content.ComponentName

Identifier for a specific application component (android.app.Activity, android.app.Service, android.content.BroadcastReceiver, or android.content.ContentProvider) that is available. Two pieces of information, encapsulated here, are required to identify a component: the package (a String) it exists in, and the class (a String) name inside of that package.

Summary

Inherited constants
Public constructors
ComponentName(pkg: Context, cls: Class<*>)

Create a new component identifier from a Context and Class object.

Create a new component identifier from a Context and class name.

Instantiate a new ComponentName from the data in a Parcel that was previously written with writeToParcel(android.os.Parcel,int).

Create a new component identifier.

Public methods
ComponentName

Int

static ComponentName

Create a new component identifier where the class name may be specified as either absolute or relative to the containing package.

static ComponentName

Create a new component identifier where the class name may be specified as either absolute or relative to the containing package.

Int

Boolean
equals(other: Any?)

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

String

The same as flattenToString(), but abbreviates the class name if it is a suffix of the package.

String

Return a String that unambiguously describes both the package and class names contained in the ComponentName.

String

Return the class name of this component.

String

Return the package name of this component.

String!

Return the class name, either fully qualified or in a shortened form (with a leading '.') if it is a suffix of the package.

Int

static ComponentName!

Read a ComponentName from a Parcel that was previously written with writeToParcel(android.content.ComponentName,android.os.Parcel), returning either a null or new object as appropriate.

String!

Return string representation of this class without the class's name as a prefix.

String

static ComponentName?

Recover a ComponentName from a String that was previously created with flattenToString().

Unit
writeToParcel(out: Parcel, flags: Int)

static Unit

Write a ComponentName to a Parcel, handling null pointers.

Properties
static Parcelable.Creator<ComponentName!>

Public constructors

ComponentName

Added in API level 1
ComponentName(
    pkg: Context,
    cls: Class<*>)

Create a new component identifier from a Context and Class object.

Parameters
pkg Context: A Context for the package implementing the component, from which the actual package name will be retrieved. This value cannot be null.
cls Class<*>: The Class object of the desired component, from which the actual class name will be retrieved. This value cannot be null.

ComponentName

Added in API level 1
ComponentName(
    pkg: Context,
    cls: String)

Create a new component identifier from a Context and class name.

Parameters
pkg Context: A Context for the package implementing the component, from which the actual package name will be retrieved. This value cannot be null.
cls String: The name of the class inside of pkg that implements the component. This value cannot be null.

ComponentName

Added in API level 1
ComponentName(in: Parcel!)

Instantiate a new ComponentName from the data in a Parcel that was previously written with writeToParcel(android.os.Parcel,int). Note that you must not use this with data written by writeToParcel(android.content.ComponentName,android.os.Parcel) since it is not possible to handle a null ComponentObject here.

Parameters
in Parcel!: The Parcel containing the previously written ComponentName, positioned at the location in the buffer where it was written.

ComponentName

Added in API level 1
ComponentName(
    pkg: String,
    cls: String)

Create a new component identifier.

Parameters
pkg String: The name of the package that the component exists in. Can not be null.
cls String: The name of the class inside of pkg that implements the component. Can not be null.

Public methods

clone

Added in API level 1
fun clone(): ComponentName
Return
ComponentName a clone of this instance.
Exceptions
java.lang.CloneNotSupportedException if the object's class does not support the Cloneable interface. Subclasses that override the clone method can also throw this exception to indicate that an instance cannot be cloned.

compareTo

Added in API level 4
fun compareTo(other: ComponentName!): Int
Parameters
o the object to be compared.
Return
Int a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.
Exceptions
java.lang.NullPointerException if the specified object is null
java.lang.ClassCastException if the specified object's type prevents it from being compared to this object.

createRelative

Added in API level 23
static fun createRelative(
    pkg: Context,
    cls: String
): ComponentName

Create a new component identifier where the class name may be specified as either absolute or relative to the containing package.

Relative package names begin with a '.' character. For a package "com.example" and class name ".app.MyActivity" this method will return a ComponentName with the package "com.example"and class name "com.example.app.MyActivity". Fully qualified class names are also permitted.

Parameters
pkg Context: a Context for the package implementing the component This value cannot be null.
cls String: the name of the class inside of pkg that implements the component This value cannot be null.
Return
ComponentName the new ComponentName This value cannot be null.

createRelative

Added in API level 23
static fun createRelative(
    pkg: String,
    cls: String
): ComponentName

Create a new component identifier where the class name may be specified as either absolute or relative to the containing package.

Relative package names begin with a '.' character. For a package "com.example" and class name ".app.MyActivity" this method will return a ComponentName with the package "com.example"and class name "com.example.app.MyActivity". Fully qualified class names are also permitted.

Parameters
pkg String: the name of the package the component exists in This value cannot be null.
cls String: the name of the class inside of pkg that implements the component This value cannot be null.
Return
ComponentName the new ComponentName This value cannot be null.

describeContents

Added in API level 1
fun describeContents(): Int
Return
Int a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or android.os.Parcelable#CONTENTS_FILE_DESCRIPTOR

equals

Added in API level 1
fun equals(other: Any?): Boolean

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

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Two components are considered to be equal if the packages in which they reside have the same name, and if the classes that implement each component also have the same name.

Parameters
obj This value may be null.
Return
Boolean true if this object is the same as the obj argument; false otherwise.

flattenToShortString

Added in API level 1
fun flattenToShortString(): String

The same as flattenToString(), but abbreviates the class name if it is a suffix of the package. The result can still be used with unflattenFromString(java.lang.String).

Return
String Returns a new String holding the package and class names. This is represented as the package name, concatenated with a '/' and then the class name. This value cannot be null.

flattenToString

Added in API level 1
fun flattenToString(): String

Return a String that unambiguously describes both the package and class names contained in the ComponentName. You can later recover the ComponentName from this string through unflattenFromString(java.lang.String).

Return
String Returns a new String holding the package and class names. This is represented as the package name, concatenated with a '/' and then the class name. This value cannot be null.

getClassName

Added in API level 1
fun getClassName(): String

Return the class name of this component.

Return
String This value cannot be null.

getPackageName

Added in API level 1
fun getPackageName(): String

Return the package name of this component.

Return
String This value cannot be null.

getShortClassName

Added in API level 1
fun getShortClassName(): String!

Return the class name, either fully qualified or in a shortened form (with a leading '.') if it is a suffix of the package.

hashCode

Added in API level 1
fun hashCode(): Int
Return
Int a hash code value for this object.

readFromParcel

Added in API level 1
static fun readFromParcel(in: Parcel!): ComponentName!

Read a ComponentName from a Parcel that was previously written with writeToParcel(android.content.ComponentName,android.os.Parcel), returning either a null or new object as appropriate.

Parameters
in Parcel!: The Parcel from which to read the ComponentName
Return
ComponentName! Returns a new ComponentName matching the previously written object, or null if a null had been written.

toShortString

Added in API level 1
fun toShortString(): String!

Return string representation of this class without the class's name as a prefix.

toString

Added in API level 1
fun toString(): String
Return
String a string representation of the object.

unflattenFromString

Added in API level 1
static fun unflattenFromString(str: String): ComponentName?

Recover a ComponentName from a String that was previously created with flattenToString(). It splits the string at the first '/', taking the part before as the package name and the part after as the class name. As a special convenience (to use, for example, when parsing component names on the command line), if the '/' is immediately followed by a '.' then the final class name will be the concatenation of the package name with the string following the '/'. Thus "com.foo/.Blah" becomes package="com.foo" class="com.foo.Blah".

Parameters
str String: The String that was returned by flattenToString(). This value cannot be null.
Return
ComponentName? Returns a new ComponentName containing the package and class names that were encoded in str This value may be null.

writeToParcel

Added in API level 1
fun writeToParcel(
    out: Parcel,
    flags: Int
): Unit
Parameters
dest 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_WRITE_RETURN_VALUE. Value is either 0 or a combination of android.os.Parcelable#PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES

writeToParcel

Added in API level 1
static fun writeToParcel(
    c: ComponentName!,
    out: Parcel!
): Unit

Write a ComponentName to a Parcel, handling null pointers. Must be read with readFromParcel(android.os.Parcel).

Parameters
c ComponentName!: The ComponentName to be written.
out Parcel!: The Parcel in which the ComponentName will be placed.

Properties

CREATOR

Added in API level 1
static val CREATOR: Parcelable.Creator<ComponentName!>