• 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开发

  • 相关阅读:
    【转】70个经典的 Shell 脚本面试问题
    【转】最牛B的编码套路
    【转】Flex 布局语法教程
    【转】程序员7大软技能测验 你得几分?
    【转】为什么事务日志自动增长会降低你的性能
    【hive】——metastore的三种模式
    【hive】——Hive基本操作
    【hive】——Hive初始了解
    【hive】——Hive四种数据导入方式
    【hive】——Hive sql语法详解
  • 原文地址:https://www.cnblogs.com/fengju/p/6336149.html
Copyright © 2020-2023  润新知