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