/ / Obsługa odłączonych gniazd - Java, Android, gniazda

Handiling disconnected Sockets - java, android, gniazda

Zaimplementowałem gniazdo w mojej aplikacji i oczywiście komunikuje się ono z serwerem, a moim problemem jest to, że nie jestem w stanie zidentyfikować, kiedy gniazdo ulegnie awarii w następujących scenariuszach.

1) Jestem połączony z siecią Wi-Fi, mając aktywne połączenie z Internetem i aktywne połączenie z gniazdem, a moje połączenie z Internetem nie działa

2) gdy jestem podłączony do połączenia internetowego 2g / 3g, czasami połączenie z gniazdem nie działa

W powyższych warunkach nie jestem w stanie stwierdzić, czy istnieje aktywne połączenie z gniazdem. Czy jest jakiś sposób na osiągnięcie tego w Androidzie?

proszę pomóż...

Odpowiedzi:

0 dla odpowiedzi № 1

Spójrz na Androida Określanie i monitorowanie statusu łączności:

Możesz użyć Menedżer połączeń aby sprawdzić, czy rzeczywiście masz połączenie z Internetem, a jeśli tak, to jaki typ połączenia jest dostępny.

Oto przykładowy kod:

ConnectivityManager cm =
(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null &&
activeNetwork.isConnectedOrConnecting();

Również,

ConnectivityManager rozgłaszaCONNECTIVITY_ACTION („android.net.conn.CONNECTIVITY_CHANGE”) działanie, gdy zmieniają się szczegóły połączenia. Możesz zarejestrować odbiornik rozgłoszeniowy w swoim manifeście, aby nasłuchiwać tych zmian i odpowiednio wznowić (lub zawiesić) aktualizacje w tle.

<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>