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文件中添加权限。

 

 
  1. XML/HTML代码  
  2.       
  3. <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"></uses-permission>          
  4. <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>          
  5. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>          
  6. <uses-permission android: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网卡:

 

 
  1. Java代码  
  2.       
  3. WifiManager wifiManager =(WifiManager).getSystemService(Context.WIFI_SERVICE);            
  4. wifiManager.setWifiEnabled(true);            
  5.       

关闭WIFI网卡:

 

 
  1. Java代码  
  2.       
  3. WifiManager wifiManager =(WifiManager).getSystemService(Context.WIFI_SERVICE);              
  4. wifiManager.setWifiEnabled(false);      

 


     本文转自06peng 51CTO博客,原文链接:http://blog.51cto.com/06peng/962819,如需转载请自行联系原作者





相关文章
|
1月前
|
数据库 Android开发
Android 通过升级SettingsProvider数据强制覆盖用户的设置项
Android 通过升级SettingsProvider数据强制覆盖用户的设置项 【5月更文挑战第7天】
39 5
|
15天前
|
传感器 Android开发 UED
Android统一设置页面竖屏
【6月更文挑战第4天】
|
16天前
|
Android开发 UED
|
2天前
|
XML Java Android开发
Android RecyclerView用代码动态设置item的selector
Android RecyclerView用代码动态设置item的selector
7 0
|
2天前
|
开发工具 Android开发 git
Android自定义View——可以设置最大宽高的FrameLayout
Android自定义View——可以设置最大宽高的FrameLayout
13 0
|
2天前
|
JSON Android开发 数据格式
Android动态添加view设置view大小(宽高)
Android动态添加view设置view大小(宽高)
6 0
|
30天前
|
XML 搜索推荐 Java
Android TextView的字体设置
【5月更文挑战第13天】
|
1月前
|
Android开发 Python
Python封装ADB获取Android设备wifi地址的方法
Python封装ADB获取Android设备wifi地址的方法
110 0
|
1月前
|
XML API Android开发
Android WIFI使用简述(上)
Android WIFI使用简述(上)
107 0
|
1月前
|
Android开发
Android 状态栏WiFi图标的显示逻辑
Android 状态栏WiFi图标的显示逻辑
48 0