WIFI是无线通信协议,可以允许手机直接连接到无线网络。在现在3G资费还比较贵的情况下,WIFI对于手机来说是很重要的,我们可以很方便的下载软件,音乐等资源。Android手机必须要有WIFI网卡才能支持WIFI。Android应用程序有时候需要对WIFI网卡进行操作,从而操作WIFI网络。
WIFI网卡有一些状态,由一系列的×××常量来表示。
常量名
常量值
网卡状态
WIFI_STATE_DISABLED
1
WIFI网卡不可用
WIFI_STATE_DISABLING
0
WIFI正在关闭
WIFI_STATE_ENABLED
3
WIFI网卡可用
WIFI_STATE_ENABLING
2
WIFI网卡正在打开
WIFI_STATE_UNKNOWN
4
未知网卡状态
在应用程序中操作WIFI网卡一定的权限。
WIFI 的主要操作权限有四个:CHANGE_NETWORK_STATE :允许修改网络状态的权限。CHANGE_WIFI_STATE :允许修改 WIFI 状态的权限。
ACCESS_NETWORK_STATE :允许访问网络状态的权限。
ACCESS_WIFI_STATE :允许访问 WIFI 状态的权限。
在AndroidManifest.xml文件中添加权限。
XML/HTML代码
改变WIFI网卡的状态
对WIFI网卡进行操作需要通过WifiManager对象来进行,获取该对象的方法如下:
WifiManager wifiManger=(WifiManger)Context.getSystemService(Service.WIFI-SERVICE);
打开WIFI网卡
wifiManager.setWifiEnabled(true);
关闭WIFI网卡
wifiManager.setWifiEnabled(false);
获取网卡当前的状态
wifiManager.getWifiState();
需要说明的是由于Android模拟器不支持WIFI和蓝牙所以程序执行时返回的网卡状态都是WIFI_STATE_UNKNOWN:网卡未知的状态。此程序需要在真机上进行调试才会显示正确的运行结果。
打开WIFI网卡:
Java代码
WifiManager wifiManager =(WifiManager).getSystemService(Context.WIFI_SERVICE);
wifiManager.setWifiEnabled(true);
关闭WIFI网卡:
Java代码
WifiManager wifiManager =(WifiManager).getSystemService(Context.WIFI_SERVICE);
wifiManager.setWifiEnabled(false);