android开发之 Wifi的四个类

android开发之 Wifi的四个类 

在Android中对Wifi操作,android本身提供了一些有用的包,在android.net.wifi包下面。简单介绍一下:
大致可以分为四个主要的类ScanResult,wifiConfiguration,WifiInfo,WifiManager
(1)ScanResult,通过wifi 硬件扫描来获取周边的wifi 热点。
(2)wifiConfiguration 连通wifi 接入点需要获取到的信息。
(3)WifiInfo :
wifi 连通以后,可以通过此类获得一些已经连通的wifi 连接的信息获取当前链接的信息,方法::
       getBSSID() 获取BSSID
       getDetailedStateOf() 获取客户端的连通性
       getHiddenSSID() 获得SSID 是否被隐藏
       getIpAddress() 获取IP 地址
       getLinkSpeed() 获得连接的速度
       getMacAddress() 获得Mac 地址
       getRssi() 获得802.11n 网络的信号
       getSSID() 获得SSID
       getSupplicanState() 返回具体客户端状态的信息
(4)wifiManager :管理wifi 连接,此类里面预先定义了许多常量,可以直接使用,不用再次创建:
 
String ACTION_PICK_WIFI_NETWORK Activity 动作: 选择一个WIFI网络连接。
int ERROR_AUTHENTICATING 出现一个验证错误问题.
String EXTRA_BSSID String提供已接入点的BSSID.
String EXTRA_NETWORK_INFO 联合网络信息.
String EXTRA_NEW_RSSI 提供新的RSSI(信号强度).
String EXTRA_NEW_STATE 查看新的请求状态。
String EXTRA_PREVIOUS_WIFI_STATE 当前Wi-Fi的状态 .
String EXTRA_SUPPLICANT_CONNECTED 表示应用后台程序的连接已经获得或丢失。
String EXTRA_SUPPLICANT_ERROR 调用 getIntExtra(String, int)中发生错误时产生此错误问题.
String EXTRA_WIFI_INFO 提供已连上的接入点的信息。
String EXTRA_WIFI_STATE 可用额外的整数型关键字表示Wi-Fi 是否启用, 禁用,正在启用,正在禁用,或者未知.
String NETWORK_IDS_CHANGED_ACTION 配置的网络标识已被更改。
String NETWORK_STATE_CHANGED_ACTION 配置的网络状态已被更改。.
String RSSI_CHANGED_ACTION  RSSI (信号强度) 发生改变.
String SCAN_RESULTS_AVAILABLE_ACTION 接入点扫描完成,并且结果已经可以获得。可以调用getScanResults()获得结果.
String SUPPLICANT_CONNECTION_CHANGE_ACTION 广播行为表示连接已经建立或者丢失。
String SUPPLICANT_STATE_CHANGED_ACTION 请求一个接入点连接的状态已经改变。
int WIFI_MODE_FULL 在这种锁定模式,Wi-Fi将保持激活状态。自动尝试连接范围内,已经配置的接入点。同时发现未配置的接入点。
int WIFI_MODE_FULL_HIGH_PERF 在这种锁定模式,Wi-Fi将保持和WIFI_MODE_FULL相同的激活状态,不同的是在屏幕设备关闭后也会保持最小丢包和最小延时高功耗连接。因此应尽量不在非必要的情况下使用该模式。
int WIFI_MODE_SCAN_ONLY 在这种锁定模式,Wi-Fi将保持激活状态。但只能进行接入范围内的扫描,并且不会自动连接到已经配置的接入点,也不会自动进行扫描操作。需要应用明确的出发扫描操作。
String WIFI_STATE_CHANGED_ACTION 广播行为表示,当前Wi-Fi状态有可能是:已启用,已禁用,正在启用,正在禁用。
int WIFI_STATE_DISABLED Wi-Fi 被禁用。
int WIFI_STATE_DISABLING Wi-Fi 开始禁用,如果操作成功,状态为WIFI_STATE_ENABLED
int WIFI_STATE_ENABLED Wi-Fi 已经被启用。.
int WIFI_STATE_ENABLING Wi-Fi 开始启用,如果成功,状态为WIFI_STATE_ENABLED.
int WIFI_STATE_UNKNOWN Wi-Fi 未知状态,在启用或禁用过程产生错误导致.
方法:
Public Methods
int addNetwork(WifiConfiguration config)
添加一个新网络.
static int calculateSignalLevel(int rssi, int numLevels)
计算信号等级.
static int compareSignalLevel(int rssiA, int rssiB)
比较A和B的信号强度.
WifiManager.MulticastLock createMulticastLock(String tag)
创建多点传送锁。
WifiManager.WifiLock createWifiLock(int lockType, String tag)
创建一个新的wifi锁.
WifiManager.WifiLock createWifiLock(String tag)
创建一个新的wifi锁,以tag标记的参数.
boolean disableNetwork(int netId)
禁用一个以配置好的网络.
boolean disconnect()
取消当前接入点的连接.
boolean enableNetwork(int netId, boolean disableOthers)
允许当前已配置网络可连接.
List<WifiConfiguration> getConfiguredNetworks()
返回所有可配置的网络列表.
WifiInfo getConnectionInfo()
如果有动作,返回当前wifi连接的动态信息.
DhcpInfo getDhcpInfo()
Return the DHCP-assigned addresses from the last successful DHCP request, if any.
List<ScanResult> getScanResults()
返回扫描出的网络列表.
int getWifiState()
获得wifi状态.
boolean isWifiEnabled()
返回wifi可用或不可用.
boolean pingSupplicant()
Check that the supplicant daemon is responding to requests.
boolean reassociate()
(不管是否已连接)重新连接当前接入点.
boolean reconnect()
如果当前网络连接已丢失,重新连接当前接入点.
boolean removeNetwork(int netId)
从可配置网络列表中移除.
boolean saveConfiguration()
保存当前可配置网络列表.
boolean setWifiEnabled(boolean enabled)
启用或禁用wifi.
boolean startScan()
请求对接入点的扫描.
int updateNetwork(WifiConfiguration config)
更新网络或者结束一个已配置好的网络.


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android中的Location是一个常用的功能,可以通过经纬度获取天气信息,或者获取所在地区的详细地址。在Android开发中,可以使用LocationManager来获取Location,通常可以通过GPS或WIFI来获取位置信息。\[2\] 要在Android中使用Location功能,需要进行一些设置。首先,需要在AndroidManifest.xml文件中添加权限,例如ACCESS_FINE_LOCATION权限。\[3\]然后,可以使用LocationManager来获取位置信息,并进行相应的处理。具体的实现可以参考相关的教程和文档,例如参考\[1\]中提供的Android接入Google地图的教程。 总之,Android中的Location功能可以帮助开发者获取设备的位置信息,从而实现一些基于位置的功能。 #### 引用[.reference_title] - *1* [Android定位功能实现](https://blog.csdn.net/weixin_40239288/article/details/125199850)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Android 高手进阶教程(十四)之----Android Location的使用!!](https://blog.csdn.net/weixin_30487317/article/details/97207236)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值