2017-07-22 9 views
-1

Ich habe eine App mit Karten, und wenn diese App zum ersten Mal ohne Internetverbindung geöffnet wird, wird die Karte nicht angezeigt, aber der Standort wird aktualisiert. Wie überprüft man, ob das so verbunden ist, dann zeige die Karte dem Benutzer an. Mit if(mGoogleApiClient != null){ funktioniert nicht, es geht immer auch ohne Internetverbindung, wie ich schon sagte, ohne Internet aktualisiert es den Standort, aber nicht die Karte!Wie überprüft man, ob GoogleApiClient verbunden ist?

Antwort

0

Ich habe die GoogleApiClient.isConnected() Methode verwendet, um zu überprüfen, ob es angeschlossen ist oder nicht. Es hat bisher für mich super geklappt.

public boolean isConnected() 

Prüft, ob der Client derzeit mit dem Dienst verbunden ist, so dass Anfragen an anderen Methoden erfolgreich sein werden. Anwendungen sollten Client-Aktionen schützen, die vom Benutzer mit einem Aufruf dieser Methode verursacht werden.

Sie können Ihre Activity implementieren GoogleApiClient.ConnectionCallbacks zu wissen, wann es verbunden ist. Es hat eine onConnected() Methode, wo Sie Code schreiben können, wenn Sie verbunden sind.

@Override 
    public void onConnected(Bundle bundle) { 
     Log.d("Connected", "Connected"); 
     // Do the Map related work. 
    } 

über die Bundle Parameter Um zu wissen, auf den docs here beziehen.

0

mGoogleApiClient.isConnected() wird true zurück, wenn Ihr GoogleApiClient

iscooncted

public abstract boolean isConnected() Prüft, ob der Client derzeit mit dem Dienst verbunden ist, so dass Anfragen an andere Methoden gelingen wird. Anwendungen sollten Clientaktionen schützen, die vom Benutzer mit einem Aufruf dieser Methode verursacht werden.

0

Wenn Sie nur mGoogleApiClient überprüfen, gibt es immer true zurück, weil Sie es zugewiesen haben und nicht null ist. Sie überprüfen die Verbindung nicht. Versuchen Sie stattdessen mGoogleApiClient.isConnected() und es wird True nach einer erfolgreichen Verbindung zurückgegeben.

Verwandte Themen