안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요.
현재 wifi의 상태를 확인 할 수 있는 방법을 알고 싶습니다.
WifiManager 클래스의 getWifiState() , isWifiEnabled() 를 사용해서 해보았습니다.
Setting 메뉴에서 wifi connect/disconnect 후 바로 check를 해보면 정확한 값이 read되는데요.
문제는, 일부러 연결이 끊어지도록 wifi 연결 영역 이외의 지역에 나가면 연결이 끊어지잖아요.
그 상태에서 다시 check를 해보면 여전히 enable상태로 나오는 것 입니다.
indicator bar에는 wifi 표시가 없는 것으로 나오는데 위의 두 함수를 사용하여 check를 하면 변경된 내용을 read할 수가 없네요.
어떤 방법을 통해 확인할 수 있는지 알려주시기 부탁드립니다.
감사합니다.
현재 wifi의 상태를 확인 할 수 있는 방법을 알고 싶습니다.
WifiManager 클래스의 getWifiState() , isWifiEnabled() 를 사용해서 해보았습니다.
Setting 메뉴에서 wifi connect/disconnect 후 바로 check를 해보면 정확한 값이 read되는데요.
문제는, 일부러 연결이 끊어지도록 wifi 연결 영역 이외의 지역에 나가면 연결이 끊어지잖아요.
그 상태에서 다시 check를 해보면 여전히 enable상태로 나오는 것 입니다.
indicator bar에는 wifi 표시가 없는 것으로 나오는데 위의 두 함수를 사용하여 check를 하면 변경된 내용을 read할 수가 없네요.
어떤 방법을 통해 확인할 수 있는지 알려주시기 부탁드립니다.
감사합니다.
2009.07.28 15:29:48
이미 테스트를 해보셨는지는 모르지만,
SSID 로 한번 체크를 2중으로 해보세요.
SSID 를 얻어오지 못한다면, null 이 반환됩니다.
WifiManager wManager;
wManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);
WifiInfo wInfo = wManager.getConnectionInfo();
// 에뮬에서 테스트 위해서 wifi 체크 주석처리
if ( wManager.isWifiEnabled() == true && wInfo.getSSID() != null)
{
Log.d("wifi", "wifi is Enabled");
Log.d("wifi", "SSID : " + wInfo.getSSID() );
}
else
{
Log.d("wifi", "wifi is disabled");
Log.d("wifi", "SSID : " + wInfo.getSSID() );
}