2013-04-18 4 views
1

Android에서 프로그래밍 방식으로 Wi-Fi에 연결할 수없는 것을 아는 사람이 있습니까? 네트워크 연결 유형 및 네트워크 연결 유형 (NetworkInfo 클래스)을 쉽게 감지 할 수있는 앱을 운영하고 있지만 Wi-Fi가 켜져 있는지 감지 할 수 없지만 다른 곳에서는 도달 할 수 없습니다. 건물 옆에는 인터넷이 없습니다. 네트워크 정보는 WIFI, isConnected = true, getDetailedState = CONNECTED라는 네트워크 유형을 계속 유지하므로 이러한 정보는 도움이되지 않습니다.WIFI가 켜져 있지만 연결할 수 없다는 것을 Android에서 어떻게 감지합니까?

+0

"Wi-Fi가 켜져 있지만 연결할 수 없다"는 것은 무엇을 의미합니까? 네트워크에 연결되어 있지만 데이터를 전송할 수 없거나 Wi-Fi는 켜져 있지만 연결할 네트워크가 없다는 것을 의미합니까? – Catherine

+0

예, 내 전화기에서 WIFI를 켜고 라우터에서 멀리 걸어서 웹 페이지를 탐색하거나 데이터를 보낼 수없는 등의 경우 ... NetworkInfo는 여전히 CONNECTED를보고합니다. 이 코드를 사용하고 있습니다 : 'ConnectivityManager cm = (ConnectivityManager) context.getSystemService (Context.CONNECTIVITY_SERVICE); \t \t NetworkInfo ni = cm.getActiveNetworkInfo(); ' – MartinC

+0

서버를 핑 (ping)하여 핑을 타임 아웃했는지 확인할 수 있습니까? – Catherine

답변

0

WIFI가 연결되어 있거나 켜져 있습니다. Wi-Fi가 인터넷 연결에 연결되어 있지 않으면 "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에서 CONNECTED (연결됨)를보고합니다. 문제는 내가 나의 Wifi 기능 (또는 그것을 넣어야 함)이 켜져 있음에도 불구하고 내가 범위를 벗어났다 고 설명했다. – MartinC

+0

그러면 특정 시간에이 메서드를 호출해야합니다. –

+0

그것이 내가하는 일입니다. 나는 (Wi-Fi 아이콘이 작은 점일뿐 아니라) 손이 닿지 않는 순간에 그것을 호출하고 로그를 검사합니다. – MartinC