I have studied google plus login from https://developers.google.com/+/mobile/android/getting-started
When I launch my app there is a toast message \"User is connect
OK! So that toast is because you have signed in, and when you click you are trying to sign in again: because you don't have a connection result with an error to resolve, you get the NPE.
This is how it works:
So, if you get onConnected you should hide the sign in button - the user has signed in!
Now, perhaps for whatever reason you want the user to have to click the button to get started. That's fine too. In the onClick, you just need to test whether mPlusClient isConnected. If it is, go straight to whatever you wanted to do post sign in. If not, then resolve the connection result.