android.os
public
final
class
android.os.Message
Defines a message containing a description and arbitrary data object that can be
sent to a Handler. This object contains two extra int fields and an
extra object field that allow you to not do allocations in many cases.
While the constructor of Message is public, the best way to get
one of these is to call Message.obtain() or one of the
Handler.obtainMessage() methods, which will pull
them from a pool of recycled objects.
Summary
Constants
Fields
public |
|
|
int |
arg1 |
arg1 and arg2 are lower-cost alternatives to using setData()
if you only need to store a few integer values. |
public |
|
|
int |
arg2 |
arg1 and arg2 are lower-cost alternatives to using setData()
if you only need to store a few integer values. |
public |
|
|
Object |
obj |
An arbitrary object to send to the recipient. |
public |
|
|
Messenger |
replyTo |
Optional Messenger where replies to this message can be sent. |
public |
|
|
int |
what |
User-defined message code so that the recipient can identify
what this message is about. |
Public Constructors
Public Methods
|
|
|
|
|
void |
copyFrom(Message o) |
|
|
|
|
|
int |
describeContents() |
|
|
|
|
|
Runnable |
getCallback() |
|
|
|
|
|
Bundle |
getData() |
|
|
|
|
|
Handler |
getTarget() |
|
|
|
|
|
long |
getWhen() |
|
|
|
static |
|
Message |
obtain() |
|
|
|
static |
|
Message |
obtain(Message orig) |
|
|
|
static |
|
Message |
obtain(Handler h) |
|
|
|
static |
|
Message |
obtain(Handler h, Runnable callback) |
|
|
|
static |
|
Message |
obtain(Handler h, int what, int arg1, int arg2) |
|
|
|
static |
|
Message |
obtain(Handler h, int what) |
|
|
|
static |
|
Message |
obtain(Handler h, int what, Object obj) |
|
|
|
static |
|
Message |
obtain(Handler h, int what, int arg1, int arg2, Object obj) |
|
|
|
|
|
Bundle |
peekData() |
|
|
|
|
|
void |
recycle() |
|
|
|
|
|
void |
sendToTarget() |
|
|
|
|
|
void |
setData(Bundle data) |
|
|
|
|
|
void |
setTarget(Handler target) |
|
|
|
|
|
String |
toString() |
|
|
|
|
|
void |
writeToParcel(Parcel dest, int flags) |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
Details
Constants
Fields
public
int
arg1
arg1 and arg2 are lower-cost alternatives to using
setData()
if you only need to store a few integer values.
public
int
arg2
arg1 and arg2 are lower-cost alternatives to using
setData()
if you only need to store a few integer values.
An arbitrary object to send to the recipient. This must be null when
sending messages across processes.
Optional Messenger where replies to this message can be sent.
public
int
what
User-defined message code so that the recipient can identify
what this message is about. Each
Handler has its own name-space
for message codes, so you do not need to worry about yours conflicting
with other handlers.
Public Constructors
public
Message()
Constructor (but the preferred way to get a Message is to call
Message.obtain()).
Public Methods
public
void
copyFrom(Message o)
Make this message like o. Performs a shallow copy of the data field.
Does not copy the linked list fields, nor the timestamp or
target/callback of the original message.
public
int
describeContents()
Describe the kinds of special objects contained in this Parcelable's
marshalled representation.
public
Runnable
getCallback()
Retrieve callback object that will execute when this message is handled.
This object must implement Runnable. This is called by
the
target Handler that is receiving this Message to
dispatch it. If
not set, the message will be dispatched to the receiving Handler's
handleMessage(Message).
public
Bundle
getData()
Obtains a Bundle of arbitrary data associated with this
event, lazily creating it if necessary. Set this value by calling
setData(Bundle).
public
Handler
getTarget()
Retrieve the a
Handler implementation that
will receive this message. The object must implement
Handler.handleMessage(). Each Handler has its own name-space for
message codes, so you do not need to
worry about yours conflicting with other handlers.
public
long
getWhen()
Return the targeted delivery time of this message, in milliseconds.
public
static
Message
obtain()
Return a new Message instance from the global pool. Allows us to
avoid allocating new Java objects in many cases.
Same as
obtain(), but copies the values of an existing
message (including its target) into the new one.
Parameters
orig
| Original message to copy. |
Returns
- A Message object from the global pool.
Same as
obtain(), but sets the value for the
target member on the Message returned.
Parameters
h
| Handler to assign to the returned Message object's target member. |
Returns
- A Message object from the global pool.
Same as
obtain(Handler), but assigns a callback Runnable on
the Message that is returned.
Parameters
h
| Handler to assign to the returned Message object's target member. |
callback
| Runnable that will execute when the message is handled. |
Returns
- A Message object from the global pool.
public
static
Message
obtain(Handler h, int what, int arg1, int arg2)
Same as
obtain(), but sets the values of the
target,
what,
arg1, and
arg2 members.
Parameters
h
| The target value to set. |
what
| The what value to set. |
arg1
| The arg1 value to set. |
arg2
| The arg2 value to set. |
Returns
- A Message object from the global pool.
public
static
Message
obtain(Handler h, int what)
Same as
obtain(), but sets the values for both
target and
what members on the Message.
Parameters
h
| Value to assign to the target member. |
what
| Value to assign to the what member. |
Returns
- A Message object from the global pool.
public
static
Message
obtain(Handler h, int what, Object obj)
Same as
obtain(), but sets the values of the
target,
what, and
obj
members.
Parameters
h
| The target value to set. |
what
| The what value to set. |
obj
| The object method to set. |
Returns
- A Message object from the global pool.
public
static
Message
obtain(Handler h, int what, int arg1, int arg2, Object obj)
Same as
obtain(), but sets the values of the
target,
what,
arg1,
arg2, and
obj members.
Parameters
h
| The target value to set. |
what
| The what value to set. |
arg1
| The arg1 value to set. |
arg2
| The arg2 value to set. |
obj
| The obj value to set. |
Returns
- A Message object from the global pool.
public
Bundle
peekData()
Like getData(), but does not lazily create the Bundle. A null
is returned if the Bundle does not already exist.
public
void
recycle()
Return a Message instance to the global pool. You MUST NOT touch
the Message after calling this function -- it has effectively been
freed.
public
void
sendToTarget()
Sends this Message to the Handler specified by
getTarget().
Throws a null pointer exception if this field has not been set.
public
void
setData(Bundle data)
Sets a Bundle of arbitrary data values. Use arg1 and arg1 members
as a lower cost way to send a few simple integer values, if you can.
public
void
setTarget(Handler target)
public
String
toString()
Returns a string containing a concise, human-readable description of the
receiver.
Returns
- String a printable representation for the receiver.
public
void
writeToParcel(Parcel dest, int flags)
Flatten this object in to a Parcel.