public final class

GooglePlayServicesUtil

extends Object
java.lang.Object
   ↳ com.google.android.gms.common.GooglePlayServicesUtil

Class Overview

Utility class for verifying that the Google Play services APK is available and up-to-date on this device. The same checks are performed if one uses AdvertisingIdClient or GoogleAuthUtil to connect to the service.

Summary

Constants
String GMS_ERROR_DIALOG
String GOOGLE_PLAY_SERVICES_PACKAGE Package name for Google Play services.
int GOOGLE_PLAY_SERVICES_VERSION_CODE Google Play services client library version (declared in library's AndroidManifest.xml android:versionCode).
String GOOGLE_PLAY_STORE_PACKAGE Package name for Google Play services.
Public Methods
static Dialog getErrorDialog(int errorCode, Activity activity, int requestCode)
Returns a dialog to address the provided errorCode.
static Dialog getErrorDialog(int errorCode, Activity activity, int requestCode, DialogInterface.OnCancelListener cancelListener)
Returns a dialog to address the provided errorCode.
static PendingIntent getErrorPendingIntent(int errorCode, Context context, int requestCode)
Returns a PendingIntent to address the provided errorCode.
static String getErrorString(int errorCode)
Returns a human-readable string of the error code returned from isGooglePlayServicesAvailable(Context).
static String getOpenSourceSoftwareLicenseInfo(Context context)
Returns the open source software license information for the Google Play services application, or null if Google Play services is not available on this device.
static Context getRemoteContext(Context context)
This gets the Context object of the Buddy APK.
static Resources getRemoteResource(Context context)
This gets the Resources object of the Buddy APK.
static int isGooglePlayServicesAvailable(Context context)
Verifies that Google Play services is installed and enabled on this device, and that the version installed on this device is no older than the one required by this client.
static boolean isGoogleSignedUid(PackageManager packageManager, int uid)
Throws SecurityException if uid does not belong to a Google signed app.
static boolean isUserRecoverableError(int errorCode)
Determines whether an error is user-recoverable.
static boolean showErrorDialogFragment(int errorCode, Activity activity, int requestCode)
Display a DialogFragment for an error code returned by isGooglePlayServicesAvailable(Context).
static boolean showErrorDialogFragment(int errorCode, Activity activity, Fragment fragment, int requestCode, DialogInterface.OnCancelListener cancelListener)
static boolean showErrorDialogFragment(int errorCode, Activity activity, int requestCode, DialogInterface.OnCancelListener cancelListener)
Display a DialogFragment for an error code returned by isGooglePlayServicesAvailable(Context).
static void showErrorNotification(int errorCode, Context context)
Displays a notification relevant to the provided error code.
[Expand]
Inherited Methods
From class java.lang.Object

Constants

public static final String GMS_ERROR_DIALOG

Constant Value: "GooglePlayServicesErrorDialog"

public static final String GOOGLE_PLAY_SERVICES_PACKAGE

Package name for Google Play services.

Constant Value: "com.google.android.gms"

public static final int GOOGLE_PLAY_SERVICES_VERSION_CODE

Google Play services client library version (declared in library's AndroidManifest.xml android:versionCode).

Constant Value: 6587000 (0x00648278)

public static final String GOOGLE_PLAY_STORE_PACKAGE

Package name for Google Play services.

Constant Value: "com.android.vending"

Public Methods

public static Dialog getErrorDialog (int errorCode, Activity activity, int requestCode)

Returns a dialog to address the provided errorCode. The returned dialog displays a localized message about the error and upon user confirmation (by tapping on dialog) will direct them to the Play Store if Google Play services is out of date or missing, or to system settings if Google Play services is disabled on the device.

Parameters
errorCode error code returned by isGooglePlayServicesAvailable(Context) call. If errorCode is SUCCESS then null is returned.
activity parent activity for creating the dialog, also used for identifying language to display dialog in.
requestCode The requestCode given when calling startActivityForResult.

public static Dialog getErrorDialog (int errorCode, Activity activity, int requestCode, DialogInterface.OnCancelListener cancelListener)

Returns a dialog to address the provided errorCode. The returned dialog displays a localized message about the error and upon user confirmation (by tapping on dialog) will direct them to the Play Store if Google Play services is out of date or missing, or to system settings if Google Play services is disabled on the device.

Parameters
errorCode error code returned by isGooglePlayServicesAvailable(Context) call. If errorCode is SUCCESS then null is returned.
activity parent activity for creating the dialog, also used for identifying language to display dialog in.
requestCode The requestCode given when calling startActivityForResult.
cancelListener The DialogInterface.OnCancelListener to invoke if the dialog is canceled.

public static PendingIntent getErrorPendingIntent (int errorCode, Context context, int requestCode)

Returns a PendingIntent to address the provided errorCode. It will direct them to one of the following places to either the Play Store if Google Play services is out of date or missing, or system settings if Google Play services is disabled on the device.

Parameters
errorCode error code returned by isGooglePlayServicesAvailable(Context) call. If errorCode is SUCCESS then null is returned.
context parent context for creating the PendingIntent.
requestCode The requestCode given when calling startActivityForResult.

public static String getErrorString (int errorCode)

Returns a human-readable string of the error code returned from isGooglePlayServicesAvailable(Context).

public static String getOpenSourceSoftwareLicenseInfo (Context context)

Returns the open source software license information for the Google Play services application, or null if Google Play services is not available on this device.

public static Context getRemoteContext (Context context)

This gets the Context object of the Buddy APK. This loads the Buddy APK code from the Buddy APK into memory. This returned context can be used to create classes and obtain resources defined in the Buddy APK.

Returns
  • The Context object of the Buddy APK or null if the Buddy APK is not installed on the device.

public static Resources getRemoteResource (Context context)

This gets the Resources object of the Buddy APK.

Returns
  • The Resources object of the Buddy APK or null if the Buddy APK is not installed on the device.

public static int isGooglePlayServicesAvailable (Context context)

Verifies that Google Play services is installed and enabled on this device, and that the version installed on this device is no older than the one required by this client.

Returns
  • status code indicating whether there was an error. Can be one of following in ConnectionResult: SUCCESS, SERVICE_MISSING, SERVICE_VERSION_UPDATE_REQUIRED, SERVICE_DISABLED, SERVICE_INVALID

public static boolean isGoogleSignedUid (PackageManager packageManager, int uid)

Throws SecurityException if uid does not belong to a Google signed app.

public static boolean isUserRecoverableError (int errorCode)

Determines whether an error is user-recoverable. If true, proceed by calling getErrorDialog(int, Activity, int) and showing the dialog.

Parameters
errorCode error code returned by isGooglePlayServicesAvailable(Context), or returned to your application via onConnectionFailed(ConnectionResult)
Returns

public static boolean showErrorDialogFragment (int errorCode, Activity activity, int requestCode)

Display a DialogFragment for an error code returned by isGooglePlayServicesAvailable(Context).

Parameters
errorCode error code returned by isGooglePlayServicesAvailable(Context) call. If errorCode is SUCCESS then this does nothing.
activity parent activity for creating the dialog, also used for identifying language to display dialog in.
requestCode The requestCode given when calling startActivityForResult.
Returns
  • true if the dialog is shown, false otherwise
Throws
RuntimeException if API level is below 11 and activity is not a FragmentActivity.

public static boolean showErrorDialogFragment (int errorCode, Activity activity, Fragment fragment, int requestCode, DialogInterface.OnCancelListener cancelListener)

public static boolean showErrorDialogFragment (int errorCode, Activity activity, int requestCode, DialogInterface.OnCancelListener cancelListener)

Display a DialogFragment for an error code returned by isGooglePlayServicesAvailable(Context).

Parameters
errorCode error code returned by isGooglePlayServicesAvailable(Context) call. If errorCode is SUCCESS then this does nothing
activity parent activity for creating the dialog, also used for identifying language to display dialog in.
requestCode The requestCode given when calling startActivityForResult.
cancelListener The DialogInterface.OnCancelListener to invoke if the dialog is canceled.
Returns
  • true if the dialog is shown, false otherwise.
Throws
RuntimeException if API level is below 11 and activity is not a FragmentActivity.

public static void showErrorNotification (int errorCode, Context context)

Displays a notification relevant to the provided error code. This method is similar to getErrorDialog(int, android.app.Activity, int), but is provided for background tasks that cannot or shouldn't display dialogs.

Parameters
errorCode error code returned by isGooglePlayServicesAvailable(Context) call. If errorCode is SUCCESS then null is returned.
context used for identifying language to display dialog in as well as accessing the NotificationManager.