2013-04-18 34 views
1

有誰知道如何以編程方式檢測在Android的WiFi無法訪問? 我有一個應用程序正在運行,我能夠輕鬆檢測網絡連接的類型以及是否打開(NetworkInfo類),但我無法檢測到無線網絡已打開,但我無法在其他網絡上建築物的一側,所以沒有互聯網。網絡信息不斷說網絡的類型是WIFI,isConnected = true,getDetailedState = CONNECTED,所以這些對我沒有幫助。如何在Android中檢測到WIFI開啓但無法訪問?

+0

你是什麼意思的「無線上網,但無法訪問?」你的意思是說你已經連接到網絡,但不能通過它發送任何數據,或者wifi已打開,但沒有網絡可以連接? – Catherine

+0

是的,我的意思是我打開WiFi打開我的手機上,然後走到遠離路由器,所以我不能瀏覽網頁,發送數據等......在這種情況下,依然的NetworkInfo報道相連。我使用此代碼: 'ConnectivityManager釐米=(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); \t \t 的NetworkInfo NI = cm.getActiveNetworkInfo();' – MartinC

+0

你可能嘗試通過Ping服務器,看是否出了平次檢測呢? – Catherine

回答

0

檢測WIFI已連接或打開。如果wifi沒有連接到任何INTERNET連接,則顯示消息「WIFI is unreachable or no INTERNET connection.

對於檢查連接的WIFI,請使用以下代碼。

ConnectivityManager connManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); 
NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 

if (mWifi.isConnected()) { 
    // Do whatever 
} 
+0

謝謝,但這不起作用。這是我已經得到的情況。 mWifi報告連接。問題在於我已經描述過,即使我的Wifi功能(或者必須將其打開)打開,我仍無法觸及。 – MartinC

+0

然後你必須在特定的時間調用這個方法。 –

+0

這就是我所做的。我在不能觸及的時候稱呼它(無線網絡圖標只是一個小點)並檢查日誌。 – MartinC

相關問題