• WIFI设备


    一、标注

           转载自:http://www.cnblogs.com/cxcco/archive/2012/02/08/2343189.html,尊重原创!

    二、正文

      1、WIFI设备是个啥?

        WIFI是个啥?请移步至百度百科

      2、WIFI有哪些状态?

        在Android的官方文档中定义了如下五种状态:

      • WIFI_STATE_DISABLED   WIFI网卡不可用
      • WIFI_STATE_DISABLING  WIFI网卡正在关闭
      • WIFI_STATE_ENABLED     WIFI网卡可用
      • WIFI_STATE_ENABLING    WIFI网卡正在打开
      • WIFI_STATE_UNKNOWN    WIFI网卡状态不可知

      3、如何操作WIFI?

        要操作WIFI设备,就需要使用Context.getSystemService(Context.WIFI_SERVICE)来获取WifiManager对象,并通过这个对象来管理我们的WIFI设备。

      • addNetwork(WifiConfiguration config) 添加一个config描述的WIFI网络,默认情况下,这个WIFI网络是DISABLE状态的。
      • calculateSignalLevel(int rssi , int numLevels) 计算信号的等级
      • compareSignalLevel(int rssiA, int rssiB) 对比网络A和网络B的信号强度
      • createWifiLock(int lockType, String tag) 创建一个WIFI 锁,锁定当前的WIFI连接
      • disableNetwork(int netId) 让一个网络连接失效
      • disconnect() 断开当前的WIFI连接
      • enableNetwork(int netId, Boolean disableOthers) 连接netId所指的WIFI网络,并是其他的网络都被禁用
      • getConfiguredNetworks() 获取网络连接的状态
      • getConnectionInfo() 获取当前连接的信息
      • getDhcpInfo() 获取DHCP 的信息
      • getScanResulats() 获取扫描测试的结果
      • getWifiState() 获取当前WIFI设备的状态
      • isWifiEnabled() 判断WIFI设备是否打开
      • pingSupplicant() ping操作,和PC的ping操作相同作用
      • ressociate() 重新连接WIFI网络,即使该网络是已经被连接上的
      • reconnect() 重新连接一个未连接上的WIFI网络
      • removeNetwork() 移除某一个网络
      • saveConfiguration() 保留一个配置信息
      • setWifiEnabled() 让一个连接有效
      • startScan() 开始扫描
      • updateNetwork(WifiConfiguration config) 更新一个网络连接

      4、如何得到周围的WIFI热点列表?

         如果要想得到周围的WIFI热点列表,可以使用WifiManager.getScanResults()返回一个ScanResult列表,ScanResult对象中,包含了以下几个属性:

      • BSSID 接入点的地址
      • SSID 网络的名字,唯一区别WIFI网络的名字
      • Capabilities 网络接入的性能
      • Frequency 当前WIFI设备附近热点的频率(MHz)
      • Level 所发现的WIFI网络信号强度

      5、如何连接上我的WIFI?

    复制代码
     1 /**
     2  * 根据ID值来自动连接WIFI网络
     3  * @param index ID值
     4  */
     5 public void ConnectWifiBySSID(int index) {
     6    // 索引大于配置好的网络索引返回 7    if (index > mWifiConfiguration.size()) {
     8     return;
     9    }
    10    // 连接配置好的指定ID的网络11    mWifiManager.enableNetwork(mWifiConfiguration.get(index).networkId,true);
    12 }
    13 /**
    14  * 根据WifiConfiguration对象来自动连接WIFI网络
    15  * @param wcg WifiConfiguration对象
    16  */
    17 public void ConnectWifiByConfig(WifiConfiguration wifiConfiguration) {
    18    int wcgID = mWifiManager.addNetwork(wifiConfiguration);
    19    mWifiManager.enableNetwork(wcgID, true);
    20 }
    复制代码

        没什么好解释的,可以直接看上面的代码段。

      6、如何查看已经连接上的WIFI信息?

        在Android的SDK中为我们提供了一个叫做WifiInfo的对象,这个对象可以通过WifiManager.getConnectionInfo()来获取。WifiInfo中包含了当前连接中的相关信息。

      • getBSSID()  获取BSSID属性
      • getDetailedStateOf()  获取客户端的连通性
      • getHiddenSSID()  获取SSID 是否被隐藏
      • getIpAddress()  获取IP 地址
      • getLinkSpeed()  获取连接的速度
      • getMacAddress()  获取Mac 地址
      • getRssi()  获取802.11n 网络的信号
      • getSSID()  获取SSID
      • getSupplicanState()  获取具体客户端状态的信息

    三、总结

      以上就是WIFI的一些操作了,本来打算要介绍下Android中数据的传输的相关知识的,但是我由于数据传输还比较多,所以就放到明天的笔记中介绍了。

     

    作者:Libo@Deng 出处:http://www.cnblogs.com/cxcco/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 我的微博:新浪微博

  • 相关阅读:
    paper 89:视频图像去模糊常用处理方法
    paper 88:人脸检测和识别的Web服务API
    paper 87:行人检测资源(下)代码数据【转载,以后使用】
    paper 86:行人检测资源(上)综述文献【转载,以后使用】
    paper 85:机器统计学习方法——CART, Bagging, Random Forest, Boosting
    paper 84:机器学习算法--随机森林
    paper 83:前景检测算法_1(codebook和平均背景法)
    paper 82:边缘检测的各种微分算子比较(Sobel,Robert,Prewitt,Laplacian,Canny)
    paper 81:HDR成像技术
    paper 80 :目标检测的图像特征提取之(一)HOG特征
  • 原文地址:https://www.cnblogs.com/wyqfighting/p/3010298.html
Copyright © 2020-2023  润新知