2010-04-20 8 views

Odpowiedz

19

Aktualizacja: użyj zamiast tego: https://stackoverflow.com/a/2677519/241869

+1

Nie jestem zaznajomiony z tematem, ale rozmowa w Defcon wskazała błąd w tej odpowiedzi. Zobacz slajd 51 z [prezentacji] (http://www.eecs.berkeley.edu/~emc/slides/SevenWaysToHangYourselfWithGoogleAndroid.pdf). Czy ktoś może to odpowiednio zaktualizować? – jakar

+0

Naprawiono. Dzięki, że dałeś mi znać. – velazcod

+0

Nie widzę, jak ta odpowiedź odnosi się do pytania. Łączność sieciowa może zmienić się z sieci telefonii komórkowej na tethering Bluetooth, a kod nigdy by o tym nie wiedział. ** Proszę nie używać tego. ** ** Odpowiedź AI ** dotycząca ** ConnectivityManager.CONNECTIVITY_ACTION ** punktów we właściwym kierunku. –

1

Android będzie nadawać WifiManager.NETWORK_STATE_CHANGED_ACTION, gdy urządzenia zyskają lub stracą połączenie WiFi. Aby otrzymać intencję, musisz uzyskać pozwolenie. Jednak nie jestem pewien, czy jest coś podobnego w GSM -> WIFI.

+0

W pytaniu WiFi zostało wymienione tylko jako przykład. Pytanie dotyczy ogólnie stanu sieci, niezależnie od konkretnej łączności WiFi. –

10

Nie ma nic tak samo jak to, co opisujesz, ale można użyć ConnectivityManager.CONNECTIVITY_ACTION do monitorowania zmian i korzystać z dodatków, które się z nią zobaczyć, czy połączenia zmienił się z GSM na Wifi i na odwrót. Do tego celu potrzebne jest zezwolenie na sprawdzanie informacji o Wi-Fi.

+0

Nie rozumiem, dlaczego CONNECTIVITY_ACTION nie jest tym, o co proszono. Ponadto osobiście nie potrzebuję aplikacji android.permission.ACCESS_WIFI_STATE, aby odebrać zdarzenie CONNECTIVITY_ACTION. Poza tym ... dziękuję za udzielenie właściwej odpowiedzi na to pytanie! –

Powiązane problemy