2012-01-19 15 views
5

Na moim urządzeniu z systemem Android mam zarówno połączenia sieciowe Ethernet, jak i Wi-Fi.
Co chcę wdrożyć? Chcę sprawdzić, czy połączenia Wi-Fi i Ethernet są aktywne w tym samym czasie, to I wan, aby wyłączyć sieć Wi-Fi i utrzymać połączenie Ethernet WŁĄCZONE.Interfejs Android z połączeniem Ethernet

Używam Android WifiManager i BroadcastReceiver android.net.conn.CONNECTIVITY_CHANGE do sprawdzania stanu Wifi Connected/Disconnected, a także do włączania/wyłączania sieci Wi-Fi.

Ale nie jestem w stanie sprawdzić stanu połączenia Ethernet, a także nie jestem w stanie włączyć/wyłączyć połączenia Ethernet.

W celu sprawdzenia stanu połączenia z siecią Ethernet odczytuję plik systemowy "/ sys/class/net/eth0", który zwraca mi prawidłowy stan sieci Ethernet. Ale w przypadku włączania/wyłączania Ethernetu nie jestem w stanie go wyłapać, jak to zrobić.

Mam opcje połączenia Ethernet w menu Ustawienia dostarczone przez Androida, skąd możemy skonfigurować połączenie Ethernet urządzenia.

W interfejsie ConnectivityManager znajduje się interfejs API getActiveNetworkInfo, który zwraca tylko bieżący interfejs sieci połączeń, ale chcę pobrać listę wszystkich połączonych interfejsów, z których można połączyć się z Internetem.

Czy na platformie Android działa usługa, która umożliwia dostęp do opcji Włącz/Wyłącz połączenie Ethernet, a także interfejsu API, aby uzyskać stan połączenia Ethernet?

Dzięki.

+0

można zmienić stan sieci Ethernet i adres IP? w jaki sposób? – Smile2Life

+0

Czy robiłeś to włączając/wyłączając połączenie ethernetowe? To było na zrootowanym urządzeniu lub możliwe również z nieskrępowanym urządzeniem. – Manmohan

Odpowiedz

3

Jedna metoda archiwizacji,
Aktualny stan sieci Ethernet urządzenia Android jest aktualizowany w pliku /sys/class/net/eth0/operstate przez system operacyjny Android. Musimy przeczytać ten plik, aby uzyskać stan.

Plik będzie zawierał ciąg UP, jeśli Ethernet jest w innym łańcuchu DOWN, jeśli Ethernet jest wyłączony.

Próbowałem w ten sposób i to działa dla mnie.

Nie wiem jednak, czy będzie działać na wszystkich urządzeniach ze wszystkimi wersjami systemu Android.

+0

W jaki sposób programujesz się do Ethernetu? Jakiś kod pls? @A_user –

+0

Czy potwierdziłeś, że zapisanie w tym pliku włącza/wyłącza Ethernet? – Yeung

+0

Nie piszemy do tego pliku, czytamy ten plik, aby uzyskać aktualny stan sieci Ethernet. Pisanie części jest wykonywane przez system operacyjny. – User7723337

Powiązane problemy