PendingResult | Android Developers

Quicknav Quicknav
Links

- Google Play Developer Console
- Android Developers Blog
- About Android

Android Sites

- Android.com
- Android Developers
- Android Open Source Project

Language
close

- - About
  - Wear
  - TV
  - Auto
- - Get Started
  - Devices
  - Style
  - Patterns
  - Building Blocks
  - Downloads
  - Videos
- - Training
  - API Guides
  - Reference
  - Tools
  - Google Services
  - Samples
- - Google Play
  - Essentials
  - Get Users
  - Engage & Retain
  - Monetize
  - Tools & Reference
  - Developer Stories

## Results

Loading...
Summary: Methods | [Expand All]
public interface

# PendingResult

com.google.android.gms.common.api.PendingResult<R extends com.google.android.gms.common.api.Result>

Known Indirect Subclasses Batch
Batch | Handles a batch of `PendingResult` items.

## Class Overview

Represents a pending result from calling an API method in Google Play services. The final result object from a PendingResult is of type R, which can be retrieved in one of two ways.

- via blocking calls to `await()`, or `await(long, TimeUnit)`, or
- via a callback by passing in an object implementing interface `ResultCallback` to `setResultCallback(ResultCallback)`.

After the result has been retrieved using `await()` or delivered to the result callback, it is an error to attempt to retrieve the result again. It is the responsibility of the caller or callback receiver to release any resources associated with the returned result. Some result types may implement `Releasable`, in which case `release()` should be used to free the associated resources.

## Summary

Public Methods
abstract R | await() Blocks until the task is completed.
abstract R | await(long time, TimeUnit units) Blocks until the task is completed or has timed out waiting for the result.
abstract void | cancel() Requests that the PendingResult be canceled.
abstract boolean | isCanceled() Indicates whether the pending result has been canceled either due to calling {GoogleApiClient#disconnect} or calling `cancel()` directly on the pending result or an enclosing `Batch`.
abstract void | setResultCallback(ResultCallback<R> callback, long time, TimeUnit units) Set the callback here if you want the result to be delivered via a callback when the result is ready or has timed out waiting for the result.
abstract void | setResultCallback(ResultCallback<R> callback) Set the callback here if you want the result to be delivered via a callback when the result is ready.

## Public Methods

#### public abstract R await ()

Blocks until the task is completed. This is not allowed on the UI thread. The returned result object can have an additional failure mode of `INTERRUPTED`.

#### public abstract R await (long time, TimeUnit units)

Blocks until the task is completed or has timed out waiting for the result. This is not allowed on the UI thread. The returned result object can have an additional failure mode of either `INTERRUPTED` or `TIMEOUT`.

#### public abstract void cancel ()

Requests that the PendingResult be canceled. If the result is available, but not consumed it will be released. If the result is set after cancelation was requested it is immediately released.

`onResult(Result)` will never be called, `await()` will return a failed result with `CANCELED`.

#### public abstract boolean isCanceled ()

Indicates whether the pending result has been canceled either due to calling {GoogleApiClient#disconnect} or calling `cancel()` directly on the pending result or an enclosing `Batch`.

#### public abstract void setResultCallback (ResultCallback<R> callback, long time, TimeUnit units)

Set the callback here if you want the result to be delivered via a callback when the result is ready or has timed out waiting for the result. The returned result object can have an additional failure mode of `TIMEOUT`.

#### public abstract void setResultCallback (ResultCallback<R> callback)

Set the callback here if you want the result to be delivered via a callback when the result is ready.