`

Android SDK 中Android.net.wifi简要分析

阅读更多

这里列了很多,但是大致可以分为四个主要的类ScanResult wifiConfiguration WifiInfo WifiManager
(1)ScanResult,主要是通过wifi 硬件的扫描来获取一些周边的wifi 热点的信息。
在我们进行wifi 搜索的时候,一般会搜到这些信息,首先是接入点名字、接入点信息的强弱、还有接入点使用的安全模式,是WPA、WPE。
打开这个类,我们可以看到以下几个信息
BSSID 接入点的地址,这里主要是指小范围几个无线设备相连接所获取的地址,比如说两台笔记本通过无线网卡进行连接,双方的无线网卡分配的地址。
SSID 网络的名字,当我们搜索一个网络时,就是靠这个来区分每个不同的网络接入点。
Capabilities 网络接入的性能,这里主要是来判断网络的加密方式等。
Frequency 频率,每一个频道交互的MHz 数。
Level 等级,主要来判断网络连接的优先数。
这里只提供了一个方法,就是将获得信息编程字符串toString()。
(2)wifiConfiguration 在我们连通一个wifi 接入点的时候,需要获取到的一些信息。大家可以跟我们有线的设备进行对比一下。
这里的数据相对来说比较复杂一下。
六个子类
WifiConfiguration.AuthAlgorthm 用来判断加密方法。
WifiConfiguration.GroupCipher 获取使用GroupCipher 的方法来进行加密。
WifiConfiguration.KeyMgmt 获取使用KeyMgmt 进行。
WifiConfiguration.PairwiseCipher 获取使用WPA 方式的加密。
WifiConfiguration.Protocol 获取使用哪一种协议进行加密。
wifiConfiguration.Status 获取当前网络的状态。
对于上述加密感兴趣的朋友,可以在网上搜索相关的内容。
(3)WifiInfo 在我们的wifi 已经连通了以后,可以通过这个类获得一些已经连通的wifi 连接的信息获取当前链接的信息,这里信息就比较简单了,这里简单介绍一下这里的方法:
getBSSID() 获取BSSID
getDetailedStateOf() 获取客户端的连通性
getHiddenSSID() 获得SSID 是否被隐藏
getIpAddress() 获取IP 地址
getLinkSpeed() 获得连接的速度
getMacAddress() 获得Mac 地址
getRssi() 获得802.11n 网络的信号
getSSID() 获得SSID
getSupplicanState() 返回具体客户端状态的信息
(4)wifiManager 这个不用说,就是用来管理我们的wifi 连接,这里已经定义好了一些类,可以供我们使用。这里来说相对复杂,里面的内容比较多,但是通过字面意思,我们还是可以获得很多相关的信息。这个类里面预先定义了许多常量,我们可以直接使用,不用再次创建。
这里还是简单介绍一下这里的方法:
addNetwork(WifiConfiguration config) 通过获取到的网络的链接状态信息,来添加网络
calculateSignalLevel(int rssi , int numLevels) 计算信号的等级
compareSignalLevel(int rssiA, int rssiB) 对比连接A 和连接B
createWifiLock(int lockType, String tag) 创建一个wifi 锁,锁定当前的wifi 连接
disableNetwork(int netId) 让一个网络连接失效
disconnect() 断开连接
enableNetwork(int netId, Boolean disableOthers) 连接一个连接
getConfiguredNetworks() 获取网络连接的状态
getConnectionInfo() 获取当前连接的信息
getDhcpInfo() 获取DHCP 的信息
getScanResulats() 获取扫描测试的结果
getWifiState() 获取一个wifi 接入点是否有效
isWifiEnabled() 判断一个wifi 连接是否有效
pingSupplicant() ping 一个连接,判断是否能连通
ressociate() 即便连接没有准备好,也要连通
reconnect() 如果连接准备好了,连通
removeNetwork() 移除某一个网络
saveConfiguration() 保留一个配置信息
setWifiEnabled() 让一个连接有效
startScan() 开始扫描
updateNetwork(WifiConfiguration config) 更新一个网络连接的信息
此外wifiManaer 还提供了一个内部的子类,也就是wifiManagerLock,WifiManagerLock 的作用是这样的,在普通的状态下,如果我们的wifi 的状态处于闲置,那么网络的连通,将会暂时中断。但是如果我们把当前的网络状态锁上,那么wifi 连通将会保持在一定状态,当然接触锁定之后,就会恢复常态

 

分享到:
评论

相关推荐

    anycad.net.sdk.rar

    本文将深入探讨Anycad.net.SDK的核心功能、工作原理以及其在实际应用中的价值。 Anycad.net.SDK是一款面向开发者的设计工具包,它允许程序员通过编程方式与CAD文件进行交互。这一SDK的核心亮点在于其转换能力,能够...

    #Remobjects SDK.for.NET.v5.0.25.631#

    Remobjects SDK for .NET v5.0.25.631 是一款强大的软件开发工具包,专为.NET开发者设计,旨在提供高效、灵活的跨平台开发能力。这个SDK包含了丰富的库、工具和文档,帮助程序员创建高性能的应用程序,支持多种编程...

    android-sdk-tools-34.0.0

    android-sdk-tools-34.0.0

    ArcGIS Runtime SDK for .NET v100.4 官方开发包

    在.NET v100.4版本中,SDK针对.NET Framework和.NET Core进行了优化,支持多种.NET开发环境,包括Visual Studio。.NET v100.4版本的发布,意味着开发者可以享受到更高效、更稳定的开发体验,同时利用最新.NET框架的...

    Wrox.Professional.Android.Programming.with.Mono.for.Android.and.NET.C#.2012

    《Wrox.Professional.Android.Programming.with.Mono.for.Android.and.NET.C#.2012》是一本专注于使用Mono for Android和.NET C#进行Android应用程序开发的专业书籍。这本书旨在帮助开发者利用C#的强大功能和.NET ...

    android-4.1SDK android-sdk_r20-windows.zip

    android 4.1 最新SDK Windows版: http://s1.eoeandroid.com/sdk/4.1/android-sdk_r20-windows.zip(推荐) http://s1.eoeandroid.com/sdk/4.1/installer_r20-windows.exe Mac版: ...

    京东开放平台.NET版SDKJdSdk.NET.zip

    所有Java Sdk中set get方法转换到.NET为属性,与类名称或子类名称同名的属性名称在前面加入下划线("_")以区分。 面向买家服务 类目服务 商品服务 推荐服务 CPS服务 ...

    ArcGIS Runtime SDK for .NET 100.6.0 官方实例代码

    ArcGIS Runtime SDK for .NET 100.6.0 官方实例代码,其中包括– UWP, WPF, Xamarin.Android, Xamarin.iOS, and Xamarin.Forms 。

    RemObjects.SDK.for.NET.v6.0.39.777.Retail.Include.License.

    RemObjects SDK for .NET是为.NET开发者提供的一套强大的跨平台开发工具,版本号6.0.39.777零售版,并包含了许可证信息。这个SDK主要关注于创建高效、可扩展且易于维护的软件应用程序。以下是关于RemObjects SDK for...

    Android SDK Build-tools 28.0.3.zip

    Android SDK Build-tools是一组用于构建Android应用的命令行工具,它们是Android Studio开发环境中的一部分,但也可以独立使用。这个工具包包括了编译、打包和签名应用所需的工具,如dx(将Java字节码转换为Dalvik...

    Microsoft.NET框架SDK示例和快速入门教程

    快速入门示例旨在从您的本地计算机 安装并运行。如果运行的是 Windows 2000,则还...运行 Windows 窗体和控制台示例,但 ASP.NET 页 将从远程服务器运行--这称为“混合模式”。 详细信息见内当文档

    dotnet 修复 GitHub Action 构建过程提示 NETSDK1127 错误.rar

    4. 在GitHub Action中指定SDK版本:在.github/workflows/文件中,明确指定.NET SDK的版本,例如`- uses: actions/setup-dotnet@v1.7.2 with {sdk: '5.0.x'}`。 .NET Maui框架开发: .NET Maui(原名Xamarin.Forms)...

    ArcGIS Runtime SDK for .NET v100.3 官方开发包

    ArcGIS Runtime SDK for .NET v100.3是Esri公司推出的一款强大的地图和地理信息系统开发工具,专为.NET开发者设计,使得他们能够在桌面、移动和Web应用程序中集成丰富的地理功能。这个版本的SDK提供了全面的API,...

    RemObjects SDK for .NET - 7.0.65.1067.rar

    7. **多平台支持**:RemObjects SDK支持多个.NET框架版本,以及跨平台的目标,如Windows、Mac OS X、iOS、Android和Linux。 通过这个SDK,开发者能够创建高性能、可扩展的分布式系统,利用.NET Framework的强大功能...

    PylonC.NET_pylonc_Basler_pylon_SDK_badnhy_

    【标签】"pylonc Basler_pylon_SDK badnhy" 这些标签进一步确认了我们讨论的是Basler的Pylon SDK,其中“pylonc”可能指的是SDK中的C++部分,而.NET部分则可能是PylonC.NET.dll。"badnhy"看起来像是一个错误的字符...

    Android_SDK.zip

    这个压缩包"Android_SDK.zip"包含了SDK的核心组件,使得开发者能够在各种设备上创建功能丰富的Android应用程序。下面是关于Android SDK的一些关键知识点: 1. **SDK Manager**: "installer_r24.3.2-windows.exe" ...

    android-sdk-windows64位.rar

    该sdk包含tools和platform-tools,下载后解压到没有中文路径的地方。JDK8+Android SDK Tools24.4.1+Android SDK Platform-tools29.05+Python3.5能稳定搭建出Monkeyrunner。

    SaaS_AppAnalytics_Android_SDK_V4.0.58.jar

    SaaS_AppAnalytics_Android_SDK_V4.0.58.jar TalkingData移动大数据服务平台;提供全面的产品统计分析服务、权威的移动行业数据解析,帮助你用数据说话。

    Android SDK (SDK Platforms)-android-35.zip

    Android SDK (SDK Platforms)-android-35.zip

Global site tag (gtag.js) - Google Analytics