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)

等待 isWifiEnabled() 为 false。

boolean waitForWifiDisabled()

等待 isWifiEnabled() 变为 false,并使用默认超时时间。

boolean waitForWifiEnabled(long timeout)

等待 isWifiEnabled() 为 true。

boolean waitForWifiEnabled()

等待 isWifiEnabled() 为 true,并使用默认超时时间。

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

getSSID

public String getSSID ()

获取当前已连接网络的服务集标识符。

返回
String

抛出
DeviceNotAvailableException

getWifiInfo

public Map<String, String> getWifiInfo ()

获取当前的 Wi-Fi 连接信息。

这包括 SSID、BSSID、IP 地址、链路速度和 RSSI。

返回
Map<String, String> 包含 WLAN 连接信息的地图。

抛出
DeviceNotAvailableException

hasValidIp

public boolean hasValidIp ()

返回
boolean

抛出
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 如果出现了某个预期状态,则为 truefalse 如果在达到超时时间之前未出现任何状态

抛出
DeviceNotAvailableException