GoogleApiClient | 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...
public interface

# GoogleApiClient

com.google.android.gms.common.api.GoogleApiClient

## Class Overview

The main entry point for Google Play services integration.

GoogleApiClient is used with a variety of static methods. Some of these methods require that GoogleApiClient be connected, some will queue up calls before GoogleApiClient is connected; check the specific API documentation to determine whether you need to be connected.

Before any operation is executed, the GoogleApiClient must be connected using the `connect()` method. The client is not considered connected until the `onConnected(Bundle)` callback has been called.

When your app is done using this client, call `disconnect()`, even if the async result from `connect()` has not yet been delivered.

You should instantiate a client object in your Activity's `onCreate(Bundle)` method and then call `connect()` in `onStart()` and `disconnect()` in `onStop()`, regardless of the state.

## Summary

Nested Classes
class | GoogleApiClient.Builder | Builder to configure a `GoogleApiClient`.
interface | GoogleApiClient.ConnectionCallbacks | Provides callbacks that are called when the client is connected or disconnected from the service.
interface | GoogleApiClient.OnConnectionFailedListener | Provides callbacks for scenarios that result in a failed attempt to connect the client to the service.

Public Methods
abstract ConnectionResult | blockingConnect() Connects the client to Google Play services.
abstract ConnectionResult | blockingConnect(long timeout, TimeUnit unit) Connects the client to Google Play services.
abstract void | connect() Connects the client to Google Play services.
abstract void | disconnect() Closes the connection to Google Play services.
abstract boolean | isConnected() Checks if the client is currently connected to the service, so that requests to other methods will succeed.
abstract boolean | isConnecting() Checks if the client is attempting to connect to the service.
abstract boolean | isConnectionCallbacksRegistered(GoogleApiClient.ConnectionCallbacks listener) Returns true if the specified listener is currently registered to receive connection events.
abstract boolean | isConnectionFailedListenerRegistered(GoogleApiClient.OnConnectionFailedListener listener) Returns true if the specified listener is currently registered to receive connection failed events.
abstract void | reconnect() Closes the current connection to Google Play services and creates a new connection.
abstract void | registerConnectionCallbacks(GoogleApiClient.ConnectionCallbacks listener) Registers a listener to receive connection events from this `GoogleApiClient`.
abstract void | registerConnectionFailedListener(GoogleApiClient.OnConnectionFailedListener listener) Registers a listener to receive connection failed events from this `GoogleApiClient`.
abstract void | stopAutoManage() Disconnects the client and stops automatic lifecycle management.
abstract void | unregisterConnectionCallbacks(GoogleApiClient.ConnectionCallbacks listener) Removes a connection listener from this `GoogleApiClient`.
abstract void | unregisterConnectionFailedListener(GoogleApiClient.OnConnectionFailedListener listener) Removes a connection failed listener from the `GoogleApiClient`.

## Public Methods

#### public abstract ConnectionResult blockingConnect ()

Connects the client to Google Play services. Blocks until the connection either succeeds or fails. This is not allowed on the UI thread.

##### Returns

- the result of the connection

#### public abstract ConnectionResult blockingConnect (long timeout, TimeUnit unit)

Connects the client to Google Play services. Blocks until the connection is set or failed or has timed out. This is not allowed on the UI thread.

##### Parameters

timeout | the maximum time to wait
unit | the time unit of the `timeout` argument

##### Returns

- the result of the connection

#### public abstract void connect ()

Connects the client to Google Play services. This method returns immediately, and connects to the service in the background. If the connection is successful, `onConnected(Bundle)` is called and enqueued items are executed. On a failure, `onConnectionFailed(ConnectionResult)` is called.

#### public abstract void disconnect ()

Closes the connection to Google Play services. No calls can be made using this client after calling this method. Any method calls that haven't executed yet will be canceled. That is `onResult(Result)` won't be called, if connection to the service hasn't been established yet all calls already made will be canceled.

##### See Also

- `connect()`

#### public abstract boolean isConnected ()

Checks if the client is currently connected to the service, so that requests to other methods will succeed. Applications should guard client actions caused by the user with a call to this method.

##### Returns

- true if the client is connected to the service.

#### public abstract boolean isConnecting ()

Checks if the client is attempting to connect to the service.

##### Returns

- true if the client is attempting to connect to the service.

#### public abstract boolean isConnectionCallbacksRegistered (GoogleApiClient.ConnectionCallbacks listener)

Returns true if the specified listener is currently registered to receive connection events.

##### Parameters

listener | The listener to check for.

##### Returns

- true if the specified listener is currently registered to receive connection events.

##### See Also

- `registerConnectionCallbacks(ConnectionCallbacks)`
- `unregisterConnectionCallbacks(ConnectionCallbacks)`

#### public abstract boolean isConnectionFailedListenerRegistered (GoogleApiClient.OnConnectionFailedListener listener)

Returns true if the specified listener is currently registered to receive connection failed events.

##### Parameters

listener | The listener to check for.

##### Returns

- true if the specified listener is currently registered to receive connection failed events.

##### See Also

- `registerConnectionFailedListener(OnConnectionFailedListener)`
- `unregisterConnectionFailedListener(OnConnectionFailedListener)`

#### public abstract void reconnect ()

Closes the current connection to Google Play services and creates a new connection.

This method closes the current connection then returns immediately and reconnects to the service in the background.

After calling this method, your application will receive `onConnected(Bundle)` if the connection is successful, or `onConnectionFailed(ConnectionResult)` if the connection failed.

##### See Also

- `connect()`
- `disconnect()`

#### public abstract void registerConnectionCallbacks (GoogleApiClient.ConnectionCallbacks listener)

Registers a listener to receive connection events from this `GoogleApiClient`. If the service is already connected, the listener's `onConnected(Bundle)` method will be called immediately. Applications should balance calls to this method with calls to `unregisterConnectionCallbacks(ConnectionCallbacks)` to avoid leaking resources.

If the specified listener is already registered to receive connection events, this method will not add a duplicate entry for the same listener, but will still call the listener's `onConnected(Bundle)` method if currently connected.

Note that the order of messages received here may not be stable, so clients should not rely on the order that multiple listeners receive events in.

##### Parameters

listener | the listener where the results of the asynchronous `connect()` call are delivered.

#### public abstract void registerConnectionFailedListener (GoogleApiClient.OnConnectionFailedListener listener)

Registers a listener to receive connection failed events from this `GoogleApiClient`. Unlike `registerConnectionCallbacks(GoogleApiClient.ConnectionCallbacks)`, if the service is not already connected, the listener's `onConnectionFailed(ConnectionResult)` method will not be called immediately. Applications should balance calls to this method with calls to `unregisterConnectionFailedListener(OnConnectionFailedListener)` to avoid leaking resources.

If the specified listener is already registered to receive connection failed events, this method will not add a duplicate entry for the same listener.

Note that the order of messages received here may not be stable, so clients should not rely on the order that multiple listeners receive events in.

##### Parameters

listener | the listener where the results of the asynchronous `connect()` call are delivered.

#### public abstract void stopAutoManage ()

Disconnects the client and stops automatic lifecycle management. Use this before creating a new client (which might be necessary when switching accounts, changing the set of used APIs etc.).

##### See Also

- `enableAutoManage(FragmentActivity, OnConnectionFailedListener)`

#### public abstract void unregisterConnectionCallbacks (GoogleApiClient.ConnectionCallbacks listener)

Removes a connection listener from this `GoogleApiClient`. Note that removing a listener does not generate any callbacks.

If the specified listener is not currently registered to receive connection events, this method will have no effect.

##### Parameters

listener | the listener to unregister.

#### public abstract void unregisterConnectionFailedListener (GoogleApiClient.OnConnectionFailedListener listener)

Removes a connection failed listener from the `GoogleApiClient`. Note that removing a listener does not generate any callbacks.

If the specified listener is not currently registered to receive connection failed events, this method will have no effect.

##### Parameters

listener | the listener to unregister.