public static class BroadcastReceiver.PendingResult extends Object
goAsync()
while in BroadcastReceiver.onReceive()
.
This allows you to return from onReceive() without having the broadcast
terminate; you must call finish()
once you are done with the
broadcast. This allows you to process the broadcast off of the main
thread of your app.
Note on threading: the state inside of this class is not itself
thread-safe, however you can use it from any thread if you properly
sure that you do not have races. Typically this means you will hand
the entire object to another thread, which will be solely responsible
for setting any results and finally calling finish()
.
Modifier and Type | Field and Description |
---|---|
static int |
TYPE_COMPONENT |
static int |
TYPE_REGISTERED |
static int |
TYPE_UNREGISTERED |
Constructor and Description |
---|
PendingResult(int resultCode,
String resultData,
Bundle resultExtras,
int type,
boolean ordered,
boolean sticky,
IBinder token,
int userId,
int flags) |
Modifier and Type | Method and Description |
---|---|
void |
abortBroadcast()
Version of
BroadcastReceiver.abortBroadcast() for
asynchronous broadcast handling. |
void |
clearAbortBroadcast()
Version of
BroadcastReceiver.clearAbortBroadcast() for
asynchronous broadcast handling. |
void |
finish()
Finish the broadcast.
|
boolean |
getAbortBroadcast()
Version of
BroadcastReceiver.getAbortBroadcast() for
asynchronous broadcast handling. |
int |
getResultCode()
Version of
BroadcastReceiver.getResultCode() for
asynchronous broadcast handling. |
String |
getResultData()
Version of
BroadcastReceiver.getResultData() for
asynchronous broadcast handling. |
Bundle |
getResultExtras(boolean makeMap)
Version of
BroadcastReceiver.getResultExtras(boolean) for
asynchronous broadcast handling. |
int |
getSendingUserId() |
void |
sendFinished(IActivityManager am) |
void |
setExtrasClassLoader(ClassLoader cl) |
void |
setResult(int code,
String data,
Bundle extras)
Version of
BroadcastReceiver.setResult(int, String, Bundle) for
asynchronous broadcast handling. |
void |
setResultCode(int code)
Version of
BroadcastReceiver.setResultCode(int) for
asynchronous broadcast handling. |
void |
setResultData(String data)
Version of
BroadcastReceiver.setResultData(String) for
asynchronous broadcast handling. |
void |
setResultExtras(Bundle extras)
Version of
BroadcastReceiver.setResultExtras(Bundle) for
asynchronous broadcast handling. |
public static final int TYPE_COMPONENT
public static final int TYPE_REGISTERED
public static final int TYPE_UNREGISTERED
public final void setResultCode(int code)
BroadcastReceiver.setResultCode(int)
for
asynchronous broadcast handling.public final int getResultCode()
BroadcastReceiver.getResultCode()
for
asynchronous broadcast handling.public final void setResultData(String data)
BroadcastReceiver.setResultData(String)
for
asynchronous broadcast handling.public final String getResultData()
BroadcastReceiver.getResultData()
for
asynchronous broadcast handling.public final void setResultExtras(Bundle extras)
BroadcastReceiver.setResultExtras(Bundle)
for
asynchronous broadcast handling.public final Bundle getResultExtras(boolean makeMap)
BroadcastReceiver.getResultExtras(boolean)
for
asynchronous broadcast handling.public final void setResult(int code, String data, Bundle extras)
BroadcastReceiver.setResult(int, String, Bundle)
for
asynchronous broadcast handling.public final boolean getAbortBroadcast()
BroadcastReceiver.getAbortBroadcast()
for
asynchronous broadcast handling.public final void abortBroadcast()
BroadcastReceiver.abortBroadcast()
for
asynchronous broadcast handling.public final void clearAbortBroadcast()
BroadcastReceiver.clearAbortBroadcast()
for
asynchronous broadcast handling.public final void finish()
public void setExtrasClassLoader(ClassLoader cl)
public void sendFinished(IActivityManager am)
public int getSendingUserId()