I was having similar issues. (I still haven't cracked the code on the invite Bundle not being null everytime I start up the service... even when there are invitations waiting...)
From here Previous StackOverflow issue for Invitaion Listener I did get the issue mostly solved. (in that i do get notifications in my app code that a new invite has come in) However, there is nothing to tell you if an invite has been rescinded...
So, I also run a Timer and do this in my code:
@Override
public void loadInvitations(){
mHelper.getGamesClient().loadInvitations(new OnInvitationsLoadedListener() {
@Override
public void onInvitationsLoaded(int statusCode, InvitationBuffer buffer) {
dLog("invitations loaded " + buffer.getCount());
if(mHelper.getGamesClient().STATUS_OK == statusCode && buffer.getCount() > 0){
if(mGHInterface != null){
mGHInterface.haveInvitations(buffer.getCount());
}
} else if (mGHInterface != null){
mGHInterface.haveInvitations(0);
}
}
});
}
Up to you on how often you want to run this, but this way I have found that at least I do know if invitations exist or not, and update my app's actions accordingly.