Android wifi属性简介 及 wifi信息获取(wifi列表、配置信息

updateNetwork(WifiConfiguration config) 更新一个网络连接

二、常用的wifi状态

===========

WIFI_STATE_DISABLED //WIFI网卡不可用

WIFI_STATE_DISABLING //WIFI网卡正在关闭

WIFI_STATE_ENABLED //WIFI网卡可用

WIFI_STATE_ENABLING //WIFI网卡正在打开

WIFI_STATE_UNKNOWN //WIFI网卡状态不可知

三、列表查看有连接信号的wifi热点

==================

ScanResult 对象就是用来表示附近 wifi 热点的属性的,可通过  WifiManager.getScanResults()  返回一个ScanResult列表,

ScanResult 的重要属性如下:

1.  BSSID 接入点的地址

2.  SSID 网络的名字,唯一区别WIFI网络的名字

3.  Capabilities 网络接入的性能

4.  Frequency 当前WIFI设备附近热点的频率(MHz)

5.  Level 所发现的WIFI网络信号强度

四、连接wifi热点

==============

通过  WifiManager.getConfiguredNetworks()  方法会返回 WifiConfiguration 对象的列表,然后再调用 WifiManager.enableNetwork(); 方法就可以连接上指定的热点。

五、查看已经连接上的wifi信息

================

WifiInfo 是专门用来表示连接的对象,这个对象可以通过 WifiManager.getConnectionInfo() 来获取。

WifiInfo中包含了当前连接中的相关信息。

getBSSID() 获取BSSID属性

getDetailedStateOf() 获取客户端的连通性

getHiddenSSID() 获取SSID 是否被隐藏

getIpAddress() 获取IP 地址

getLinkSpeed() 获取连接的速度

getMacAddress() 获取Mac 地址

getRssi() 获取802.11n 网络的信号

getSSID() 获取SSID

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

六、示例

====

1)获得WifiManager

WifiManager wifiManager=(WifiManager) getSystemService(WIFI_SERVICE);

2)获取Wifi信息

WifiInfo wifiInfo=wifiManager.getConnectionInfo(); //当前wifi连接信息

List scanResults=wifiManager.getScanResults();//搜索到的设备列表

for (ScanResult scanResult : scanResults) {

tv.append(“\n设备名:”+scanResult.SSID

+" 信号强度:“+scanResult.level+”/n :"+wifiManager.calculateSignalLevel(scanResult.level,4));

}

附 WifiManager中计算级别的代码:

/**

  • Calculates the level of the signal. This should be used any time a signal

  • is being shown.

  • @param rssi The power of the signal measured in RSSI.

  • @param numLevels The number of levels to consider in the calculated

  •        level.
    
  • @return A level of the signal, given in the range of 0 to numLevels-1

  •     (both inclusive).
    

*/

public static int calculateSignalLevel(int rssi, int numLevels) {

if (rssi <= MIN_RSSI) {

return 0;

} else if (rssi >= MAX_RSSI) {

return numLevels - 1;

} else {

int partitionSize = (MAX_RSSI - MIN_RSSI) / (numLevels - 1);

return (rssi - MIN_RSSI) / partitionSize;

}

}

3)网络权限

如:方法封装(返回返回当前连接的wifi的名字)

private String getConnectWifiSsid(){

WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);

WifiInfo wifiInfo = wifiManager.getConnectionInfo();

Log.d(“wifiInfo”, wifiInfo.toString());

Log.d(“SSID”,wifiInfo.getSSID());

return wifiInfo.getSSID();

}

如果不是想获取当前连接,而是想获取WIFI设置中的连接, 可以使用  WifiManager.getConfiguredNetworks

七、获取当前已连接的wifi配置信息

==================

public class MyWifi extends Activity

{

@Override

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

TextView infoText = (TextView) this.findViewById(R.id.info);

infoText.setText(getInfo());

}

private String getInfo()

{

WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);

WifiInfo info = wifi.getConnectionInfo();

String maxText = info.getMacAddress();

String ipText = intToIp(info.getIpAddress());

String status = “”;

if (wifi.getWifiState() == WifiManager.WIFI_STATE_ENABLED)

{

status = “WIFI_STATE_ENABLED”;

}

String ssid = info.getSSID();

int networkID = info.getNetworkId();

尾声

一转眼时间真的过的飞快。我们各奔东西,也各自踏上了自己的旅途,但是即使多年不见,也因为这份情谊我们依旧如从前那般“亲密”。不忘初心方得始终。加油吧,程序员们,在我看来35岁,40岁从来不是危机,只要永远不要忘记自己为何踏上征程!

最后需要同款资料的,可以 **私信我点击【学习】**我愿意分享给你!

为了让更多在学习中或者最近要准备面试的朋友们看到这篇文章,希望你们能多多评论,点赞+转发!

再次感谢所有给我提供过题目的朋友们,感谢一路有你!

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
img

不知道该从何学起的朋友,同时减轻大家的负担。**
[外链图片转存中…(img-o6xaYvgr-1710957730933)]
[外链图片转存中…(img-6ms9j4Ht-1710957730934)]
[外链图片转存中…(img-oJNTkh7x-1710957730934)]
[外链图片转存中…(img-qII2nIAY-1710957730935)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
[外链图片转存中…(img-F4PCKV2S-1710957730936)]

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值