WifiHelper
public
class
WifiHelper
extends Object
implements
IWifiHelper
| java.lang.Object | |
| ↳ | com.android.tradefed.device.WifiHelper |
用于在设备上操控 Wi-Fi 服务的辅助类。
摘要
常量 | |
|---|---|
String |
INSTRUMENTATION_PKG
|
公共构造函数 | |
|---|---|
WifiHelper(ITestDevice device)
|
|
WifiHelper(ITestDevice device, String wifiUtilApkPath)
|
|
WifiHelper(ITestDevice device, String wifiUtilApkPath, boolean doSetup)
可跳过 wifi apk 设置的替代构造函数。 |
|
WifiHelper(ITestDevice device, String wifiUtilApkPath, boolean doSetup, boolean useV2)
用于指定是否使用新的 WiFi 辅助程序 v2 的构造函数。 |
|
公共方法 | |
|---|---|
boolean
|
addOpenNetwork(String ssid)
添加由 SSID 标识的开放安全网络。 |
boolean
|
addOpenNetwork(String ssid, boolean scanSsid)
添加由 SSID 标识的开放安全网络。 |
boolean
|
addWpaPskNetwork(String ssid, String psk)
添加由 SSID 标识的 WPA-PSK 安全网络。 |
boolean
|
addWpaPskNetwork(String ssid, String psk, boolean scanSsid)
添加由 SSID 标识的 WPA-PSK 安全网络。 |
boolean
|
checkConnectivity(String urlToCheck)
通过向指定网址发送 HTTP 请求来检查连接。 |
void
|
cleanUp()
清理资源和 WiFi 帮助程序软件包安装。 |
boolean
|
connectToNetwork(String ssid, String psk, String urlToCheck)
连接到 WLAN 网络并检查连接。 |
IWifiHelper.WifiConnectionResult
|
connectToNetwork(String ssid, String psk, String urlToCheck, boolean scanSsid, String defaultType)
连接到 WLAN 网络并检查连接。 |
IWifiHelper.WifiConnectionResult
|
connectToNetwork(String ssid, String psk, String urlToCheck, boolean scanSsid)
连接到 WLAN 网络并检查连接。 |
boolean
|
disableWifi()
停用设备上的 Wi-Fi 状态。 |
boolean
|
disconnectFromNetwork()
断开与当前 Wi-Fi 网络的连接并停用 Wi-Fi。 |
boolean
|
enableWifi()
启用设备上的 Wi-Fi 状态。 |
static
File
|
extractWifiUtilApk()
用于从类路径中提取 WiFi 实用程序 APK 的辅助方法 |
String
|
getBSSID()
获取当前接入点的基本服务集标识符 (BSSID)。 |
String
|
getIpAddress()
获取与 Wi-Fi 接口相关联的 IP 地址。 |
String
|
getSSID()
获取当前已连接网络的服务集标识符。 |
Map<String, String>
|
getWifiInfo()
获取当前的 Wi-Fi 连接信息。 |
boolean
|
hasValidIp()
|
boolean
|
isWifiEnabled()
检查 Wi-Fi 是否已启用。 |
boolean
|
removeAllNetworks()
移除所有已知网络。 |
boolean
|
startMonitor(long interval, String urlToCheck)
开始监控网络连接。 |
List<Long>
|
stopMonitor()
停止网络连接监控。 |
boolean
|
waitForIp(long timeout)
等待系统为 WLAN 适配器分配 IP 地址。 |
boolean
|
waitForWifiDisabled(long timeout)
等待 |
boolean
|
waitForWifiDisabled()
等待 |
boolean
|
waitForWifiEnabled(long timeout)
等待 |
boolean
|
waitForWifiEnabled()
等待 |
boolean
|
waitForWifiState(WifiState... expectedStates)
等待直到出现其中一种预期 Wi-Fi 状态。 |
常量
INSTRUMENTATION_PKG
public static final String INSTRUMENTATION_PKG
常量值: "com.android.tradefed.utils.wifi"
公共构造函数
WifiHelper
public WifiHelper (ITestDevice device)
| 参数 | |
|---|---|
device |
ITestDevice |
| 抛出 | |
|---|---|
DeviceNotAvailableException |
|
WifiHelper
public WifiHelper (ITestDevice device, String wifiUtilApkPath)
| 参数 | |
|---|---|
device |
ITestDevice |
wifiUtilApkPath |
String |
| 抛出 | |
|---|---|
DeviceNotAvailableException |
|
WifiHelper
public WifiHelper (ITestDevice device, String wifiUtilApkPath, boolean doSetup)
可跳过 Wi-Fi APK 设置的替代构造函数。
| 参数 | |
|---|---|
device |
ITestDevice |
wifiUtilApkPath |
String |
doSetup |
boolean |
| 抛出 | |
|---|---|
DeviceNotAvailableException |
|
WifiHelper
public WifiHelper (ITestDevice device, String wifiUtilApkPath, boolean doSetup, boolean useV2)
构造函数,用于指定是否使用新的 WiFi 辅助程序 v2。v2 操作不需要安装 WiFi 实用程序 APK。
| 参数 | |
|---|---|
device |
ITestDevice |
wifiUtilApkPath |
String |
doSetup |
boolean |
useV2 |
boolean |
| 抛出 | |
|---|---|
DeviceNotAvailableException |
|
公共方法
addOpenNetwork
public boolean addOpenNetwork (String ssid)
添加由 SSID 标识的开放安全网络。
如需连接到任何 WLAN 网络,必须先在 wpa_supplicant 配置中创建网络配置文件。这将调用 wpa_cli 来添加由 ssid 标识的开放安全网络。
| 参数 | |
|---|---|
ssid |
String:要添加的网络的 SSID。 |
| 返回 | |
|---|---|
boolean |
如果成功添加了网络,则为 true;否则为 false。 |
| 抛出 | |
|---|---|
DeviceNotAvailableException |
|
addOpenNetwork
public boolean addOpenNetwork (String ssid,
boolean scanSsid)添加由 SSID 标识的开放安全网络。
如需连接到任何 WLAN 网络,必须先在 wpa_supplicant 配置中创建网络配置文件。这将调用 wpa_cli 来添加由 ssid 标识的开放安全网络。
| 参数 | |
|---|---|
ssid |
String:要添加的网络的 SSID。 |
scanSsid |
boolean:是否扫描此网络的隐藏 SSID。 |
| 返回 | |
|---|---|
boolean |
如果成功添加了网络,则为 true;否则为 false。 |
| 抛出 | |
|---|---|
DeviceNotAvailableException |
|
addWpaPskNetwork
public boolean addWpaPskNetwork (String ssid,
String psk)添加由 SSID 标识的 WPA-PSK 安全网络。
| 参数 | |
|---|---|
ssid |
String:要添加的网络的 SSID。 |
psk |
String:要使用的 WPA-PSK 密码 |
| 返回 | |
|---|---|
boolean |
如果成功添加了网络,则为 true;否则为 false。 |
| 抛出 | |
|---|---|
DeviceNotAvailableException |
|
addWpaPskNetwork
public boolean addWpaPskNetwork (String ssid,
String psk,
boolean scanSsid)添加由 SSID 标识的 WPA-PSK 安全网络。
| 参数 | |
|---|---|
ssid |
String:要添加的网络的 SSID。 |
psk |
String:要使用的 WPA-PSK 密码 |
scanSsid |
boolean:是否扫描此网络的隐藏 SSID。 |
| 返回 | |
|---|---|
boolean |
如果成功添加了网络,则为 true;否则为 false。 |
| 抛出 | |
|---|---|
DeviceNotAvailableException |
|
checkConnectivity
public boolean checkConnectivity (String urlToCheck)
通过向指定网址发送 HTTP 请求来检查连接。
| 参数 | |
|---|---|
urlToCheck |
String:用于 HTTP 请求检查的目标网址 |
| 返回 | |
|---|---|
boolean |
true 设备是否通过连接检查。 |
| 抛出 | |
|---|---|
DeviceNotAvailableException |
|
cleanUp
public void cleanUp ()
清理资源和 WiFi 帮助程序软件包安装。仅当调用不再需要 Wi-Fi 时才应调用此方法,因为当卸载辅助程序时,设备会失去 Wi-Fi 连接。
| 抛出 | |
|---|---|
DeviceNotAvailableException |
|
connectToNetwork
public boolean connectToNetwork (String ssid,
String psk,
String urlToCheck)连接到 WLAN 网络并检查连接。
| 参数 | |
|---|---|
ssid |
String:要连接的网络的 SSID |
psk |
String:要使用的 WPA-PSK 口令。此字段可为 null。 |
urlToCheck |
String:用于 HTTP 请求检查的目标网址 |
| 返回 | |
|---|---|
boolean |
true 设备是否通过连接检查。 |
| 抛出 | |
|---|---|
DeviceNotAvailableException |
|
connectToNetwork
public IWifiHelper.WifiConnectionResult connectToNetwork (String ssid, String psk, String urlToCheck, boolean scanSsid, String defaultType)
连接到 WLAN 网络并检查连接。
| 参数 | |
|---|---|
ssid |
String:要连接的网络的 SSID |
psk |
String:要使用的 WPA-PSK 口令。此字段可为 null。 |
urlToCheck |
String:用于 HTTP 请求检查的目标网址 |
scanSsid |
boolean:是否扫描此网络的隐藏 SSID |
defaultType |
String:如果无法确定 SSID 的网络类型,则回退到的默认网络类型 |
| 返回 | |
|---|---|
IWifiHelper.WifiConnectionResult |
表示 Wi-Fi 连接结果的 WifiConnectionResult |
| 抛出 | |
|---|---|
DeviceNotAvailableException |
|
connectToNetwork
public IWifiHelper.WifiConnectionResult connectToNetwork (String ssid, String psk, String urlToCheck, boolean scanSsid)
连接到 WLAN 网络并检查连接。
| 参数 | |
|---|---|
ssid |
String:要连接的网络的 SSID |
psk |
String:要使用的 WPA-PSK 口令。此字段可为 null。 |
urlToCheck |
String:用于 HTTP 请求检查的目标网址 |
scanSsid |
boolean:是否扫描此网络的隐藏 SSID |
| 返回 | |
|---|---|
IWifiHelper.WifiConnectionResult |
表示 Wi-Fi 连接结果的 WifiConnectionResult |
| 抛出 | |
|---|---|
DeviceNotAvailableException |
|
disableWifi
public boolean disableWifi ()
停用设备上的 Wi-Fi 状态。
| 返回 | |
|---|---|
boolean |
如果成功停用 Wi-Fi,则为 true |
| 抛出 | |
|---|---|
DeviceNotAvailableException |
|
disconnectFromNetwork
public boolean disconnectFromNetwork ()
断开与当前 Wi-Fi 网络的连接,并停用 Wi-Fi。
| 返回 | |
|---|---|
boolean |
如果操作成功,则为 true。 |
| 抛出 | |
|---|---|
DeviceNotAvailableException |
|
enableWifi
public boolean enableWifi ()
在设备上启用 Wi-Fi 状态。
| 返回 | |
|---|---|
boolean |
如果成功启用 Wi-Fi,则为 true |
| 抛出 | |
|---|---|
DeviceNotAvailableException |
|
extractWifiUtilApk
public static File extractWifiUtilApk ()
用于从类路径中提取 WiFi 实用程序 APK 的辅助方法
| 返回 | |
|---|---|
File |
|
| 抛出 | |
|---|---|
IOException |
|
getBSSID
public String getBSSID ()
获取当前接入点的基本服务集标识符 (BSSID)。
| 返回 | |
|---|---|
String |
|
| 抛出 | |
|---|---|
DeviceNotAvailableException |
|
getIpAddress
public String getIpAddress ()
获取与 Wi-Fi 接口关联的 IP 地址。如果检索 IP 地址失败,则返回 null。
| 返回 | |
|---|---|
String |
|
| 抛出 | |
|---|---|
DeviceNotAvailableException |
|
getWifiInfo
public Map<String, String> getWifiInfo ()
获取当前的 Wi-Fi 连接信息。
这包括 SSID、BSSID、IP 地址、链路速度和 RSSI。
| 返回 | |
|---|---|
Map<String, String> |
包含 WLAN 连接信息的地图。 |
| 抛出 | |
|---|---|
DeviceNotAvailableException |
|
isWifiEnabled
public boolean isWifiEnabled ()
检查 Wi-Fi 目前是否已启用。
| 返回 | |
|---|---|
boolean |
|
| 抛出 | |
|---|---|
DeviceNotAvailableException |
|
removeAllNetworks
public boolean removeAllNetworks ()
移除所有已知网络。
| 返回 | |
|---|---|
boolean |
|
| 抛出 | |
|---|---|
DeviceNotAvailableException |
|
startMonitor
public boolean startMonitor (long interval,
String urlToCheck)启动网络连接监控。
| 参数 | |
|---|---|
interval |
long:连接检查之间的时间间隔。 |
urlToCheck |
String:用于检查连接性的网址。 |
| 返回 | |
|---|---|
boolean |
如果操作成功,则为 true。 |
| 抛出 | |
|---|---|
DeviceNotAvailableException |
|
stopMonitor
public List<Long> stopMonitor ()
停止网络连接监控。
此方法还会返回自上次 IWifiHelper.startMonitor(long,String) 调用以来的延迟时间历史记录。
| 返回 | |
|---|---|
List<Long> |
延迟时间历史记录。 |
| 抛出 | |
|---|---|
DeviceNotAvailableException |
|
waitForIp
public boolean waitForIp (long timeout)
等待系统为 WLAN 适配器分配 IP 地址。
| 参数 | |
|---|---|
timeout |
long:等待时长 |
| 返回 | |
|---|---|
boolean |
如果在超时之前分配了 IP 地址,则为 true;否则为 false |
| 抛出 | |
|---|---|
DeviceNotAvailableException |
|
waitForWifiDisabled
public boolean waitForWifiDisabled (long timeout)
等待 isWifiEnabled() 变为 false。
| 参数 | |
|---|---|
timeout |
long:等待时间(以毫秒为单位) |
| 返回 | |
|---|---|
boolean |
如果 Wi-Fi 在超时之前被停用,则为 true;否则为 false。 |
| 抛出 | |
|---|---|
DeviceNotAvailableException |
|
waitForWifiDisabled
public boolean waitForWifiDisabled ()
等待 isWifiEnabled() 变为 false,并使用默认超时时间。
| 返回 | |
|---|---|
boolean |
如果 Wi-Fi 在超时之前被停用,则为 true;否则为 false。 |
| 抛出 | |
|---|---|
DeviceNotAvailableException |
|
waitForWifiEnabled
public boolean waitForWifiEnabled (long timeout)
等待 isWifiEnabled() 变为 true。
| 参数 | |
|---|---|
timeout |
long:等待时间(以毫秒为单位) |
| 返回 | |
|---|---|
boolean |
如果 Wi-Fi 在超时之前已启用,则为 true,否则为 false。 |
| 抛出 | |
|---|---|
DeviceNotAvailableException |
|
waitForWifiEnabled
public boolean waitForWifiEnabled ()
等待 isWifiEnabled() 变为 true,并使用默认超时时间。
| 返回 | |
|---|---|
boolean |
如果 Wi-Fi 在超时之前已启用,则为 true,否则为 false。 |
| 抛出 | |
|---|---|
DeviceNotAvailableException |
|
waitForWifiState
public boolean waitForWifiState (WifiState... expectedStates)
等待直到出现预期的 Wi-Fi 状态。
| 参数 | |
|---|---|
expectedStates |
WifiState:要预期的一个或多个 Wi-Fi 状态 |
| 返回 | |
|---|---|
boolean |
如果出现了某个预期状态,则为 true。false 如果在达到超时时间之前未出现任何状态 |
| 抛出 | |
|---|---|
DeviceNotAvailableException |
|