Android(安卓)WIFI检测与设置
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代码
- <uses-permissionandroid:name="android.permission.CHANGE_NETWORK_STATE"></uses-permission>
- <uses-permissionandroid:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
- <uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
- <uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
改变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代码
- WifiManagerwifiManager=(WifiManager).getSystemService(Context.WIFI_SERVICE);
- wifiManager.setWifiEnabled(true);
关闭WIFI网卡:
- Java代码
- WifiManagerwifiManager=(WifiManager).getSystemService(Context.WIFI_SERVICE);
- wifiManager.setWifiEnabled(false);
更多相关文章
- Android(安卓)仿淘宝订单状态tab(可以滑动、带红点badge)
- Android平台上无线网卡自动扫描并关联AP的实现
- Android(安卓)静态ip的dns设置
- [转]android 系统权限大全的简介与内容
- Android(安卓)SystemProperties
- android在apk中获取root权限,并执行命令
- Android权限机制总结与常见权限不足问题分析
- Android(安卓)跳转权限设置界面的终极适配(适配各大定制 ROM)
- 当透明状态栏遇到输入框