onConnectionSuspended. How to test? When will this

2019-01-18 12:57发布

问题:

public class MainActivity extends Activity implements GoogleApiClient.ConnectionCallbacks {

    @Override
    public void onConnectionSuspended(int i) {
        Log.d(TAG, "onConnectionSuspended() called. Trying to reconnect.");
        sendToast("onConnectionSuspended() called. Trying to reconnect.");
        mGoogleApiClient.connect();
    }

    [...]
}

I've read the documentation: https://developer.android.com/reference/com/google/android/gms/common/api/GoogleApiClient.ConnectionCallbacks.html

Based on what I read I did a simple test where I connected two peers in a Quick Game. I disabled the WiFi connection on one of them. I thought that I was going to see a toast for onConnectionSuspended. Is there a way to induce that toast to come up for testing purposes?

Thank You

回答1:

onConnectionSuspended gets called when your app gets disconnected from the Google Play services package (not necessarily the Internet). The callback gets invoked for instance when you go to Settings > Apps > Google Play services > Force Stop. Another example is when you would uninstall Google Play services. You would get onConnectionSuspended followed by onConnectionFailed after a couple of seconds (because a reconnection attempt would fail).

Also do not call mGoogleApiClient.connect() from onConnectionSuspended(...). Reconnection is handled automatically.