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