Build 1.0_r1(from source)

android.os
Class Messenger

java.lang.Object
  extended by android.os.Messenger
All Implemented Interfaces:
Parcelable

public final class Messenger
extends Object
implements 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.


Nested Class Summary
 
Nested classes/interfaces inherited from interface android.os.Parcelable
Parcelable.Creator<T>
 
Field Summary
static Parcelable.Creator<Messenger> CREATOR
           
 
Fields inherited from interface android.os.Parcelable
CONTENTS_FILE_DESCRIPTOR, PARCELABLE_WRITE_RETURN_VALUE
 
Constructor Summary
Messenger(Handler target)
          Create a new Messenger pointing to the given Handler.
Messenger(IBinder target)
          Create a Messenger from a raw IBinder, which had previously been retrieved with getBinder().
 
Method Summary
 int describeContents()
          Describe the kinds of special objects contained in this Parcelable's marshalled representation.
 boolean equals(Object otherObj)
          Comparison operator on two Messenger objects, such that true is returned then they both point to the same Handler.
 IBinder getBinder()
          Retrieve the IBinder that this Messenger is using to communicate with its associated Handler.
 int hashCode()
          Returns an integer hash code for the receiver.
static Messenger readMessengerOrNullFromParcel(Parcel in)
          Convenience function for reading either a Messenger or null pointer from a Parcel.
 void send(Message message)
          Send a Message to this Messenger's Handler.
static void writeMessengerOrNullToParcel(Messenger messenger, Parcel out)
          Convenience function for writing either a Messenger or null pointer to a Parcel.
 void writeToParcel(Parcel out, int flags)
          Flatten this object in to a Parcel.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CREATOR

public static final Parcelable.Creator<Messenger> CREATOR
Constructor Detail

Messenger

public Messenger(Handler target)
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 be called directly.

Parameters:
target - The Handler that will receive sent messages.

Messenger

public Messenger(IBinder target)
Create a Messenger from a raw IBinder, which had previously been retrieved with getBinder().

Parameters:
target - The IBinder this Messenger should communicate with.
Method Detail

send

public void send(Message message)
          throws RemoteException
Send a Message to this Messenger's Handler.

Parameters:
message - The Message to send. Usually retrieved through Message.obtain().
Throws:
RemoteException - Throws DeadObjectException if the target Handler no longer exists.

getBinder

public IBinder getBinder()
Retrieve the IBinder that this Messenger is using to communicate with its associated Handler.

Returns:
Returns the IBinder backing this Messenger.

equals

public boolean equals(Object otherObj)
Comparison operator on two Messenger objects, such that true is returned then they both point to the same Handler.

Overrides:
equals in class Object
Parameters:
otherObj - Object the object to compare with this object.
Returns:
boolean true if the object is the same as this object false if it is different from this object.
See Also:
Object.hashCode()

hashCode

public int hashCode()
Description copied from class: Object
Returns an integer hash code for the receiver. Any two objects which answer true when passed to .equals must answer the same value for this method.

Overrides:
hashCode in class Object
Returns:
int the receiver's hash.
See Also:
Object.equals(java.lang.Object)

describeContents

public int describeContents()
Description copied from interface: Parcelable
Describe the kinds of special objects contained in this Parcelable's marshalled representation.

Specified by:
describeContents in interface Parcelable
Returns:
a bitmask indicating the set of special object types marshalled by the Parcelable.

writeToParcel

public void writeToParcel(Parcel out,
                          int flags)
Description copied from interface: Parcelable
Flatten this object in to a Parcel.

Specified by:
writeToParcel in interface Parcelable
Parameters:
out - The Parcel in which the object should be written.
flags - Additional flags about how the object should be written. May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE.

writeMessengerOrNullToParcel

public static void writeMessengerOrNullToParcel(Messenger messenger,
                                                Parcel out)
Convenience function for writing either a Messenger or null pointer to a Parcel. You must use this with readMessengerOrNullFromParcel(android.os.Parcel) for later reading it.

Parameters:
messenger - The Messenger to write, or null.
out - Where to write the Messenger.

readMessengerOrNullFromParcel

public static Messenger readMessengerOrNullFromParcel(Parcel in)
Convenience function for reading either a Messenger or null pointer from a Parcel. You must have previously written the Messenger with writeMessengerOrNullToParcel(android.os.Messenger, android.os.Parcel).

Parameters:
in - The Parcel containing the written Messenger.
Returns:
Returns the Messenger read from the Parcel, or null if null had been written.

Build 1.0_r1(from source)

Please submit a feedback, bug or feature