2011-07-06 21 views
47

Mã nào sẽ được kiểm tra xem Wi-Fi có được bật hay không?Kiểm tra bật Wi-Fi hay không trên Android

+5

-1 đối với yêu cầu mã –

+0

Bản sao có thể có của [cách xem liệu wifi có được kết nối trong android] không (http://stackoverflow.com/questions/3841317/how-to-see-if-wifi-is-connected-in-android) –

Trả lời

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

Để biết chi tiết kiểm tra here

+2

if (wifi.isWifiEnabled()) \t \t {// wifi được kích hoạt \t \t} – inforg

+0

này cần . Xin lỗi nếu điều này là hiển nhiên nhưng tôi gặp lỗi thời gian chạy không mong muốn. – user420667

+0

Vui lòng chỉnh sửa câu trả lời để bao gồm các quyền cần thiết. IDE của tôi cũng gợi ý rằng tôi sử dụng 'getApplciationContext()' thay vì 'getSystemService()' – Zapnologica

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

Những câu trả lời ở trên làm việc و tốt nhưng đừng quên để thêm đủ quyền hạn trong Manifest:

<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> 

Hy vọng nó giúp ..

+0

Tôi không nghĩ rằng chúng ta cần CHANGE_WIFI_STATE – LoveForDroid

2

Câu trả lời hàng đầu là chính xác, nhưng không cập nhật vì mã này có thể làm rò bộ nhớ trên một số d evices.

Vì vậy câu trả lời tốt hơn sẽ là:

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

Permissions in ứng dụng => mainfests => AndroidManifest.xml:

<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" /> 

tham khảo: https://www.mysysadmintips.com/other/programming/759-the-wifi-service-must-be-looked-up-on-the-application-context

Các vấn đề liên quan