2012-01-19 105 views
5

在我的Android設備上,我有以太網和Wifi網絡連接。
我想要實現的是我想檢查Wifi和以太網兩個連接是否同時處於活動狀態,然後我要禁用Wifi網絡並保持以太網連接打開。Android與以太網連接的接口

我正在使用android WifiManager和BroadcastReceiver android.net.conn.CONNECTIVITY_CHANGE來檢查Wifi狀態連接/斷開連接以及啓用/禁用Wifi網絡。

但我無法檢查以太網連接狀態,也無法啓用/禁用以太網連接。

用於檢查以太網連接狀態我正在讀取系統文件「/ sys/class/net/eth0」,它正在返回正確的以太網狀態。但對於啓用/禁用以太網,我無法弄清楚如何做到這一點。

我在Android提供的設置菜單中有以太網連接選項,我們可以在其中配置設備的以太網連接。

ConnectivityManager有一個API getActiveNetworkInfo它只返回當前的連接網絡接口,但我想檢索我們可以連接到互聯網的所有連接接口的列表。

有什麼服務在Android上運行,可以給我訪問啓用/禁用以太網連接以及API以獲得以太網連接狀態?

謝謝。

+0

你能改變以太網狀態和IP地址嗎?怎麼樣? – Smile2Life

+0

您是否已經完成啓用/禁用以太網連接?它是根植設備,或者也可能是非根設備。 – Manmohan

回答

3

存檔的一種方式,
Android操作系統在文件/sys/class/net/eth0/operstate中更新Android設備的當前以太網狀態。我們需要閱讀這個文件來獲取狀態。

如果以太網上電,文件將包含字符串UP如果以太網關閉,則其他字符串爲DOWN

我試過這種方式,它爲我工作。

但不知道它是否適用於所有Android版本的所有設備。

+0

如何以編程方式連接到以太網?任何代碼請求? @A_user –

+0

您是否確認在此文件中寫入值會啓用/禁用以太網? – Yeung

+0

我們不寫這個文件,我們讀這個文件來獲取以太網的當前狀態。寫作部分由操作系統完成。 – User7723337