1、什么是WIFI
WIFI就是一种无线连网的技术,以前通过网线连接电脑,而现在则是通过无线电波来连网;
常见的就是一个无线路由器,那么在这个无线路由器的电波覆盖的有效范围都可以采用WIFI连接方式进行连网,
如果无线路由器连接了一条ADSL线路或者别的上网线路,则又被称为“热点”;
2、获取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:未知网卡状态
3、操作WIFI所需要的权限
关于操作权限,可以在帮助文档当中找到完整的列表(Manifest.permission),在这里我列出和网络相关的部分权限:
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
4、改变WIFI网卡的状态
对WIFI网卡进行操作需要通过WifiManager对象来进行,获取该对象的方法如下:
WifiManager wifiManager = (WifiManager) Context.getSystemService(Service.WIFI_SERVICE);
wifiManager.setWifiEnabled(true); // 打开WIFI网卡
wifiManager.setWifiEnabled(false); // 关闭WIFI网卡
wifiManager.getWifiState(); // 获取网卡当前的状态
实例:wifi
在手机上运行来做测试;装相应的驱动程序,手机的usb调试打开;
在Eclipse的DDMS管理中可以显示输出语句;
在AndroidManifest.xml里设置权限:
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
/**-------WifiActivity.java-------**/
WifiManager wifiManager = null;
// 设置WIFI打开
StartWifiListener{
wifiManager = (WifiManager) WifiActivity.this.getSystemService(Context.WIFI_SERVICE);
wifiManager.setWifiEnabled(true);
wifiManager.getWifiState(); // 得到WIFI的状态
}
// 设置WIFI关闭
StopWifiListener{
wifiManager = (WifiManager) WifiActivity.this.getSystemService(Context.WIFI_SERVICE);
wifiManager.setWifiEnabled(false);
wifiManager.getWifiState(); // 得到WIFI的状态
}
// 检验WIFI的状态
CheckWifiListener{
wifiManager = (WifiManager) WifiActivity.this.getSystemService(Context.WIFI_SERVICE);
wifiManager.getWifiState(); // 得到WIFI的状态
}
WIFI就是一种无线连网的技术,以前通过网线连接电脑,而现在则是通过无线电波来连网;
常见的就是一个无线路由器,那么在这个无线路由器的电波覆盖的有效范围都可以采用WIFI连接方式进行连网,
如果无线路由器连接了一条ADSL线路或者别的上网线路,则又被称为“热点”;
2、获取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:未知网卡状态
3、操作WIFI所需要的权限
关于操作权限,可以在帮助文档当中找到完整的列表(Manifest.permission),在这里我列出和网络相关的部分权限:
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
4、改变WIFI网卡的状态
对WIFI网卡进行操作需要通过WifiManager对象来进行,获取该对象的方法如下:
WifiManager wifiManager = (WifiManager) Context.getSystemService(Service.WIFI_SERVICE);
wifiManager.setWifiEnabled(true); // 打开WIFI网卡
wifiManager.setWifiEnabled(false); // 关闭WIFI网卡
wifiManager.getWifiState(); // 获取网卡当前的状态
实例:wifi
在手机上运行来做测试;装相应的驱动程序,手机的usb调试打开;
在Eclipse的DDMS管理中可以显示输出语句;
在AndroidManifest.xml里设置权限:
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
/**-------WifiActivity.java-------**/
WifiManager wifiManager = null;
// 设置WIFI打开
StartWifiListener{
wifiManager = (WifiManager) WifiActivity.this.getSystemService(Context.WIFI_SERVICE);
wifiManager.setWifiEnabled(true);
wifiManager.getWifiState(); // 得到WIFI的状态
}
// 设置WIFI关闭
StopWifiListener{
wifiManager = (WifiManager) WifiActivity.this.getSystemService(Context.WIFI_SERVICE);
wifiManager.setWifiEnabled(false);
wifiManager.getWifiState(); // 得到WIFI的状态
}
// 检验WIFI的状态
CheckWifiListener{
wifiManager = (WifiManager) WifiActivity.this.getSystemService(Context.WIFI_SERVICE);
wifiManager.getWifiState(); // 得到WIFI的状态
}