2011-07-06 2 views
47

Wi-Fi의 사용 여부를 확인하기위한 코드는 무엇입니까?Android에서 Wi-Fi 사용 여부 확인

+5

-1 –

+0

가능한 [안드로이드에 WiFi가 연결되어 있는지 보는 방법] (http://stackoverflow.com/questions/3841317/how-to-see-if-wifi-is-connected-in-android) –

답변

99
WifiManager wifi = (WifiManager)getSystemService(Context.WIFI_SERVICE); 
if (wifi.isWifiEnabled()){ 
//wifi is enabled 
} 

세부 사항은 위의 답변을 잘 و 작동하지만 매니페스트에 적절한 권한을 추가하는 것을 잊지 마세요 here

+2

은 (wifi.isWifiEnabled()) \t \t {// 와이파이가 활성화되어 \t \t } 경우이 필요 – inforg

+0

는 <사용 - 권한 안드로이드 : 이름 = "android.permission.ACCESS_WIFI_STATE을"/>. 미안하지만 이것이 명백한 경우 예기치 않은 런타임 오류가 발생했습니다. – user420667

+0

답변을 편집하여 필요한 권한을 포함하십시오. IDE에서 getSystemService() 대신 getApplciationContext()를 사용하는 것이 좋습니다 – Zapnologica

7
public static boolean wifiState() 
{ 
    WifiManager mng = (WifiManager) getSystemService(Context.WIFI_SERVICE); 
    return mng.isWifiEnabled(); 
} 
21

을 확인의 경우 :

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" > 
</uses-permission> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" > 
</uses-permission> 
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" > 
</uses-permission> 

는 희망이

.. 도움
+0

CHANGE_WIFI_STATE가 필요하다고 생각하지 않습니다. – LoveForDroid

2

위의 답변은 정확하지만 특정 코드에서 메모리가 누출 될 수 있으므로 최신이 아닙니다. evices.

따라서 더 나은 대답은 다음과 같습니다 응용 프로그램 => mainfests =>의 AndroidManifest.xml에서

WifiManager wifi =(WifiManager)getApplicationContext().getSystemService(Context.WIFI_SERVICE); 
if (wifi.isWifiEnabled()){ 
//wifi is enabled 
} 

권한 :

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" (> 
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 

참조 : 코드 요청에 대한 https://www.mysysadmintips.com/other/programming/759-the-wifi-service-must-be-looked-up-on-the-application-context

관련 문제