Sprawdzenie stanu połączenia | android4devs

Cześć,

piszę małą grę mmo i przy uruchamianiu głównej Activity potrzebuję sprawdzić, czy połączenie internetowe jest dostępne. Przy braku zasięgu sieci aplikacja wyrzuca błąd i się wyłącza. Podejrzewam, że można to jakoś obsłużyć przez blok try/catch, ale nie wiem jak. Czy ktoś ma pomysł jak to rozwiązać? Dzięki.

Pisałem kiedyś o tym na blogu (i jak widać zapomniałem przepisać do tego serwisu ). Link do całego wpisu masz tutaj -> http://frogermcs.blogspot.com/2010/09/sprawdzanie-poaczenia-z-internetem-w.html

Natomiast kawałek kodu, który może Cię zainteresować to:

całość wywoływana jest gdzieś wewnątrz Aktywności (albo miejsca z którego masz dostęp do kontekstu aplikacji).

Mi na emulatorze przy wywołaniu .isConnected() wywala błąd „Security Exception”. O co chodzi? Co prawda połączenie nie jest ani WiFi ani GSM tylko normalne po „kablu” ale sprawdzałem też na wywołaniu metody niezależnej od rodzaju  .getActiveNetworkInfo().isConnected() i mam to samo.
[edit] aaa…żeby wszystko było jasne mam ustawione zezwolenia na korzystanie z neta przez aplikację (chyba że trzeba coś jeszcze dodać).

dobra sam sobie odpowiem (pogrzebałem trochę po sieci) aby ten kod który podał Mirek załorkował należy jeszcze dodać w manifeście poniższą linijkę :

 <uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE”/>

Podpowiedz jeszcze jakbyś zrobił nasłuch w Brodcascie ?

Jeśli chcesz załączyć kod źródłowy przejdź do edytora HTML (ostatni przycisk – Show source) i swój kod umieść wewnątrz znaczników <pre class=”brush: język”></pre> (np. <pre class=”brush: java”>System.out.println(„Lorem ipsum”)</pre> ).
Listę dostępnych języków znajdziesz na tej stronie.

Tylko zarejestrowani użytkownicy mogą odpowiadać na pytania.

zaloguj się lub skorzystaj ze swojego profilu:

Student Informatyki Stosowanej na Uniwersytecie Jagiellońskim. Z zamiłowania Android developer, z doświadczenia programista webowy i producent muzyczny (Dreamlab Onet.pl, RMF FM, eLO RMF) . Uzależniony od podróży, dobrej kawy, i gier wideo. Pracoholik (tak mówią) i gadżetomaniak (tak sądzi).

Zaloguj się lub skorzystaj ze swojego profilu

Odpowiedzi: 9

Odpowiedzi: 5

Odpowiedzi: 4

Odpowiedzi: 3

Odpowiedzi: 2

Komentarzy: 9

Komentarzy: 4

Komentarzy: 4

Komentarzy: 3

Komentarzy: 2

© 2012 android4devs.pl

created by froger_mcs

Sprawdzenie stanu połączenia

4 Odpowiedzi

Twoja odpowiedź

O autorze

Ostatnie oferty pracy

Najpopularniejsze pytania

Kategorie

Archiwum

Tagi

O autorze



		String networkService = Context.CONNECTIVITY_SERVICE;
		ConnectivityManager connectivityManager = (ConnectivityManager)getSystemService(networkService);
		String connectionInfo;
	    if(connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).isConnected() ||
	       connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnected()) {
	    	connectionInfo = "Połączony za pomocą: " +
	                connectivityManager.getActiveNetworkInfo().getTypeName() +
	                "\nStan połączenia: " +
	                connectivityManager.getActiveNetworkInfo().getState() +
	                "\nSzczegóły (dla połączenia mobilnego): " +
	                connectivityManager.getActiveNetworkInfo().getSubtypeName();
	    } else {
	    	connectionInfo = "Brak połączenia z internetem";
	    }

Mirosław StanekMirosław StaneklinkeclerMirosław StaneklinkdroidlinkdroidlinkszychalinkActivityAlertDialogAndroidManifestAppWidgetAVDBindingBroadcastReceiverButtonDialogEditTextFiltry IntencjiGeolokalizacjaGoogle MapsGPSIDEIntentIntentFiltersksoap2ListViewMapViewMapyNinePatchNotificationPendingIntentPowiadomieniaPraca w tlePreferenceActivityProgressDialogprzechowywanie danychRotacjaSDKServicesSharedPreferencesSMSSOAPSQLiteTextViewTitlebarToastUIUstawieniaUsługiViewHolderWebViewWidget

1zadane 22 sierpnia 20111accepted000

Przewijanie do góry