Messenger
class Messenger : Parcelable
Reference to a Handler, which others can use to send messages to it. This allows for the implementation of message-based communication across processes, by creating a Messenger pointing to a Handler in one process, and handing that Messenger to another process.
Note: the implementation underneath is just a simple wrapper around a Binder
that is used to perform the communication. This means semantically you should treat it as such: this class does not impact process lifecycle management (you must be using some higher-level component to tell the system that your process needs to continue running), the connection will break if your process goes away for any reason, etc.
Summary
Inherited constants |
From class Parcelable
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 : 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) ". Some implementations may want to release resources at this point.
|
|
Public constructors |
Create a new Messenger pointing to the given Handler.
|
Create a Messenger from a raw IBinder, which had previously been retrieved with getBinder .
|
Public methods |
Int |
|
Boolean |
Comparison operator on two Messenger objects, such that true is returned then they both point to the same Handler.
|
IBinder! |
Retrieve the IBinder that this Messenger is using to communicate with its associated Handler.
|
Int |
|
static Messenger! |
Convenience function for reading either a Messenger or null pointer from a Parcel.
|
Unit |
Send a Message to this Messenger's Handler.
|
static Unit |
Convenience function for writing either a Messenger or null pointer to a Parcel.
|
Unit |
|
Public constructors
Messenger
Messenger(target: Handler!)
Create a new Messenger pointing to the given Handler. Any Message objects sent through this Messenger will appear in the Handler as if Handler.sendMessage(Message)
had been called directly.
Parameters |
target |
Handler!: The Handler that will receive sent messages. |
Messenger
Messenger(target: IBinder!)
Create a Messenger from a raw IBinder, which had previously been retrieved with getBinder
.
Parameters |
target |
IBinder!: The IBinder this Messenger should communicate with. |
Public methods
describeContents
fun describeContents(): Int
equals
fun equals(other: Any?): Boolean
Comparison operator on two Messenger objects, such that true is returned then they both point to the same Handler.
Parameters |
obj |
the reference object with which to compare. |
otherObj |
This value may be null . |
Return |
Boolean |
true if this object is the same as the obj argument; false otherwise. |
getBinder
fun getBinder(): IBinder!
Retrieve the IBinder that this Messenger is using to communicate with its associated Handler.
Return |
IBinder! |
Returns the IBinder backing this Messenger. |
hashCode
fun hashCode(): Int
Return |
Int |
a hash code value for this object. |
readMessengerOrNullFromParcel
static fun readMessengerOrNullFromParcel(in: Parcel!): Messenger!
Convenience function for reading either a Messenger or null pointer from a Parcel. You must have previously written the Messenger with writeMessengerOrNullToParcel
.
Parameters |
in |
Parcel!: The Parcel containing the written Messenger. |
Return |
Messenger! |
Returns the Messenger read from the Parcel, or null if null had been written. |
send
fun send(message: Message!): Unit
Send a Message to this Messenger's Handler.
Exceptions |
android.os.RemoteException |
Throws DeadObjectException if the target Handler no longer exists. |
writeMessengerOrNullToParcel
static fun writeMessengerOrNullToParcel(
messenger: Messenger!,
out: Parcel!
): Unit
Convenience function for writing either a Messenger or null pointer to a Parcel. You must use this with readMessengerOrNullFromParcel
for later reading it.
Parameters |
messenger |
Messenger!: The Messenger to write, or null. |
out |
Parcel!: Where to write the Messenger. |
Properties