hhnf333 发表于 2015-9-30 12:42:29

WIFI网卡的状态(state)对应的int型

WIFI网卡的状态

WIFI网卡的状态是由一系列的整型常量来表示的:
1.WIFI_STATE_DISABLED:WIFI网卡不可用
2.WIFI_STATE_DISABLING:WIFI正在关闭
3.WIFI_STATE_ENABLED:WIFI网卡可用
4.WIFI_STATE_ENABLING:WIFI网卡正在打开
5.WIFI_STATE_UNKNOWN:未知网卡状态



操作WIFI网卡所需要的权限

关于操作权限,可以在帮助文档当中找到完整的列表,在这里我列出和网络相关的部分权限:
CHANGE_NETWORK_STATE:Allows applications to change network connectivity state
CHANGE_WIFI_STATE: Allows applications to change Wi-Fi connectivity state
ACCESS_NETWORK_STATE: Allows applications to access information about networks
ACCESS_WIFI_STATE: Allows applications to access information about Wi-Fi networks

在AndroidManifest.xml里加入:
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>

与权限相关的类,可以找到谷歌帮助文档的Manifest.permission类。



改变WIFI网卡的状态

对WIFI网卡进行操作需要通过WifiManager对象来进行,获取该对象的方法如下:
WifiManager wifiManager = (WifiManager)Context.getSystemService(Service.WIFI_SERVICE);

注:此处的Context类,Activity继承自Context类,因此,比如我们写一个WifiActivity.java继承自Activity类,来测试WIFI,我们使用Activity对象是合法的。

打开WIFI网卡: wifiManager.setWifiEnabled(true);
关闭WIFI网卡: wifiManager.setWifiEnabled(false);
获取网卡当前状态: wifiManager.getWifiState();



在Android模拟器中,没有实现WIFI,蓝牙等模拟,因此需要用手机进行测试。
页: [1]
查看完整版本: WIFI网卡的状态(state)对应的int型