zoukankan      html  css  js  c++  java
  • Android Wifi开发之WifiConfiguration

    最近在写一个和Wifi有关的程序,原来的意图是想去拿到手机当前WIFI连接下的密码。如果是对于有Root过的手机,我们可以从路径:/data/data/com.android.settings/databases/wifi_settings.db拿到wifi_settings.db这样的一个数据库文件。这个数据库文件的确比较好,不过是对于开发或是盗密码的人来说,而对于那些有条件才能公开Wifi密码的人来说,这是一个令人头疼的事了。虽然,我们可以从这个数据库文件拿到我们手机曾经连过的Wifi相关信息,不过美中不足的是,有很多手机里,其实是没有这样的一个数据库文件的。这个我也不知道是为什么。不过好在,还有另一个配置文件/data/misc/wifi/wpa_supplicant.conf中也有相关的信息。配置文件中相关内容如下:

    network={ 
    ssid="CMCC" //网络名称 
    psk="12345678" //这个是密码 
    key_mgmt=WPA-PSK //加密方式 
    }

    不过这些美好的事情都有一个共同的前提:ROOT!

    下面我来简单介绍一下关于WIFI的WifiConfiguration类。api中是这样介绍这个类的:

    A class representing a configured Wi-Fi network, including the security configuration. Android will not necessarily support all of these security schemes initially.

    ——这是一个代表已配置的Wi-Fi网络的类,也包括安全配置。 Android将不一定支持所有的这些最初的保障计划。

    所以,这个类就是包含了一些已经配置好的WI-FI网络,如当前正在连接的WI-FI网络信息。

    获取方式:

    WifiInfo info = wifiManager.getConnectionInfo();
    getBSSID() 获取BSSID属性
    getDetailedStateOf() 获取客户端的连通性
    getHiddenSSID() 获取SSID 是否被隐藏
    getIpAddress() 获取IP 地址
    getLinkSpeed() 获取连接的速度
    getMacAddress() 获取Mac 地址
    getRssi() 获取802.11n 网络的信号
    getSSID() 获取SSID

    getSupplicanState() 获取具体客户端状态的信息

    运行示例图:


    资源参考:android wifi讲解 wifi列表显示

    源码Demo参考:Android下的WIFI开发

  • 相关阅读:
    关于Git的使用方法
    Python读取Excel数据
    用到的Dos命令总结 持续更新
    windows下使用Jenkins+Gitea持续集成
    HDFS概述(2)————Block块大小设置
    分布式文件系统比较出名的有HDFS  和 GFS
    c++里面有没有什么办法做到 判断某个给定的未知数是double类型还是int类型 呢?
    About HDFS blocks
    hadoop深入学习之SequenceFile
    使用RawComparator加速Hadoop程序
  • 原文地址:https://www.cnblogs.com/fengju/p/6336149.html
Copyright © 2011-2022 走看看