设为首页 收藏本站
查看: 1090|回复: 0

[经验分享] Wifi相关的操作

[复制链接]

尚未签到

发表于 2015-10-1 14:18:12 | 显示全部楼层 |阅读模式
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?
   没什么好解释的,可以直接看上面的代码段。
  6、如何查看已经连接上的WIFI信息?
      在Android的SDK中为我们提供了一个叫做WifiInfo的对象,这个对象可以通过WifiManager.getConnectionInfo()来获取。WifiInfo中包含了当前连接中的相关信息。






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




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-121412-1-1.html 上篇帖子: 802.11学习笔记1-WIFI参数含义 下篇帖子: Win7 wifi热点设置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表