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

Creates and returns a copy of this object.

Int

Compares this object with the specified object for order.

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

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

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

Returns a hash code value for the object.

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

Returns a string representation of the object.

static ComponentName?

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

Unit
writeToParcel(out: Parcel, flags: Int)

Flatten this object in to a Parcel.

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

Creates and returns a copy of this object. The precise meaning of "copy" may depend on the class of the object. The general intent is that, for any object x, the expression:

x.clone() != x
will be true, and that the expression:
x.clone().getClass() == x.getClass()
will be true, but these are not absolute requirements. While it is typically the case that:
x.clone().equals(x)
will be true, this is not an absolute requirement.

By convention, the returned object should be obtained by calling super.clone. If a class and all of its superclasses (except Object) obey this convention, it will be the case that x.clone().getClass() == x.getClass().

By convention, the object returned by this method should be independent of this object (which is being cloned). To achieve this independence, it may be necessary to modify one or more fields of the object returned by super.clone before returning it. Typically, this means copying any mutable objects that comprise the internal "deep structure" of the object being cloned and replacing the references to these objects with references to the copies. If a class contains only primitive fields or references to immutable objects, then it is usually the case that no fields in the object returned by super.clone need to be modified.

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

Compares this object with the specified object for order. Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.

The implementor must ensure signum(x.compareTo(y)) == -signum(y.compareTo(x)) for all x and y. (This implies that x.compareTo(y) must throw an exception if and only if y.compareTo(x) throws an exception.)

The implementor must also ensure that the relation is transitive: (x.compareTo(y) > 0 && y.compareTo(z) > 0) implies x.compareTo(z) > 0.

Finally, the implementor must ensure that x.compareTo(y)==0 implies that signum(x.compareTo(z)) == signum(y.compareTo(z)), for all z.

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.ClassCastException if the specified object's type prevents it from being compared to this object.
java.lang.NullPointerException if the specified object is null

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

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.

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

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

Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
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

Returns a string representation of the object.

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

Flatten this object in to a Parcel.

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 the following:

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!>