Android Google Sign In: check if User is signed in-ThrowExceptions

Exception or error:

I am looking for a way to check if my user already signed in with Google Sign In.

I support several logging APIs (Facebook, Google, custom), so I would like to build a static helper method like:

With Facebook I use:

if AccessToken.getCurrentAccessToken() != null { 
   return true

to check if the user is logged via Facebook.

On iOS I use the following to check if the user is logged via Google Sign In:


My question:
Is there an equivalent on Android to the iOS method :

GIDSignIn.sharedInstance().hasAuthInKeychain() ?

I am looking for a method that doesn’t involve a callback.


How to solve:

You can use this function

private boolean isSignedIn() {
  return GoogleSignIn.getLastSignedInAccount(context) != null;

public static GoogleSignInAccount getLastSignedInAccount (Context context)

Gets the last account that the user signed in with.

Returns: GoogleSignInAccount from last known successful sign-in. If
user has never signed in before or has signed out / revoked access,
null is returned.


Take a look at the Android sign-in documentation:

To check if the user is signed-in, call isConnected():

if (mGoogleApiClient != null && mGoogleApiClient.isConnected()) {
   // signed in. Show the "sign out" button and explanation.
   // ...
} else {
   // not signed in. Show the "sign in" button and explanation.
   // ...


Implemented in Kotlin, and using Anko:

    val googleSignInAccount = GoogleSignIn.getLastSignedInAccount(act)
    if (googleSignInAccount != null) {

Leave a Reply

Your email address will not be published. Required fields are marked *