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)
Alternative constructor that can skip the setup of the wifi apk. |
|
WifiHelper(ITestDevice device, String wifiUtilApkPath, boolean doSetup, boolean useV2)
建構函式,用於指定是否使用新的 Wi-Fi 輔助程式 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()
清理資源和 Wi-Fi 輔助程式套件安裝。 |
boolean
|
connectToNetwork(String ssid, String psk, String urlToCheck)
連線至 Wi-Fi 網路並檢查連線狀態。 |
IWifiHelper.WifiConnectionResult
|
connectToNetwork(String ssid, String psk, String urlToCheck, boolean scanSsid, String defaultType)
連線至 Wi-Fi 網路並檢查連線狀態。 |
IWifiHelper.WifiConnectionResult
|
connectToNetwork(String ssid, String psk, String urlToCheck, boolean scanSsid)
連線至 Wi-Fi 網路並檢查連線狀態。 |
boolean
|
disableWifi()
停用裝置的 Wi-Fi 狀態。 |
boolean
|
disconnectFromNetwork()
中斷目前的 Wi-Fi 網路連線,並停用 Wi-Fi。 |
boolean
|
enableWifi()
在裝置上啟用 Wi-Fi 狀態。 |
static
File
|
extractWifiUtilApk()
Helper method to extract the wifi util apk from the classpath |
String
|
getBSSID()
取得目前存取點的基本服務集 ID (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)
等待系統將 IP 位址指派給 Wi-Fi 介面卡。 |
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)
建構函式,用於指定是否使用新的 Wi-Fi 輔助程式 v2。v2 作業不需要安裝 Wi-Fi 應用程式 APK。
| 參數 | |
|---|---|
device |
ITestDevice |
wifiUtilApkPath |
String |
doSetup |
boolean |
useV2 |
boolean |
| 擲回 | |
|---|---|
DeviceNotAvailableException |
|
公用方法
addOpenNetwork
public boolean addOpenNetwork (String ssid)
新增由 SSID 識別的開放式安全網路。
如要連上任何 Wi-Fi 網路,必須先在 wpa_supplicant 設定中建立網路設定檔。這會呼叫 wpa_cli,以新增由 ssid 識別的開放式安全網路。
| 參數 | |
|---|---|
ssid |
String:要新增的網路 SSID。 |
| 傳回 | |
|---|---|
boolean |
如果成功新增聯播網,則為 true,否則為 false。 |
| 擲回 | |
|---|---|
DeviceNotAvailableException |
|
addOpenNetwork
public boolean addOpenNetwork (String ssid,
boolean scanSsid)新增由 SSID 識別的開放式安全網路。
如要連上任何 Wi-Fi 網路,必須先在 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 ()
清理資源並安裝 Wi-Fi 輔助程式套件。如果呼叫不再需要 Wi-Fi,就應呼叫這個方法,因為解除安裝輔助程式時,裝置會失去 Wi-Fi 連線。
| 擲回 | |
|---|---|
DeviceNotAvailableException |
|
connectToNetwork
public boolean connectToNetwork (String ssid,
String psk,
String urlToCheck)連線至 Wi-Fi 網路並檢查連線狀態。
| 參數 | |
|---|---|
ssid |
String:要連線的網路 SSID |
psk |
String:要使用的 WPA-PSK 密碼片語。這個值可以為空值。 |
urlToCheck |
String:HTTP 要求檢查的目的地網址 |
| 傳回 | |
|---|---|
boolean |
true 裝置是否通過連線檢查。 |
| 擲回 | |
|---|---|
DeviceNotAvailableException |
|
connectToNetwork
public IWifiHelper.WifiConnectionResult connectToNetwork (String ssid, String psk, String urlToCheck, boolean scanSsid, String defaultType)
連線至 Wi-Fi 網路並檢查連線狀態。
| 參數 | |
|---|---|
ssid |
String:要連線的網路 SSID |
psk |
String:要使用的 WPA-PSK 密碼片語。這個值可以為空值。 |
urlToCheck |
String:HTTP 要求檢查的目的地網址 |
scanSsid |
boolean:是否掃描這個網路的隱藏 SSID |
defaultType |
String:如果無法判斷 SSID 的網路類型,則會改用這個預設網路類型 |
| 傳回 | |
|---|---|
IWifiHelper.WifiConnectionResult |
WifiConnectionResult,代表 Wi-Fi 連線結果 |
| 擲回 | |
|---|---|
DeviceNotAvailableException |
|
connectToNetwork
public IWifiHelper.WifiConnectionResult connectToNetwork (String ssid, String psk, String urlToCheck, boolean scanSsid)
連線至 Wi-Fi 網路並檢查連線狀態。
| 參數 | |
|---|---|
ssid |
String:要連線的網路 SSID |
psk |
String:要使用的 WPA-PSK 密碼片語。這個值可以為空值。 |
urlToCheck |
String:HTTP 要求檢查的目的地網址 |
scanSsid |
boolean:是否掃描這個網路的隱藏 SSID |
| 傳回 | |
|---|---|
IWifiHelper.WifiConnectionResult |
WifiConnectionResult,代表 Wi-Fi 連線結果 |
| 擲回 | |
|---|---|
DeviceNotAvailableException |
|
disableWifi
public boolean disableWifi ()
停用裝置的 Wi-Fi 狀態。
| 傳回 | |
|---|---|
boolean |
true (如果 Wi-Fi 已成功停用) |
| 擲回 | |
|---|---|
DeviceNotAvailableException |
|
disconnectFromNetwork
public boolean disconnectFromNetwork ()
中斷目前的 Wi-Fi 網路連線,並停用 Wi-Fi。
| 傳回 | |
|---|---|
boolean |
如果作業成功,則為 true。 |
| 擲回 | |
|---|---|
DeviceNotAvailableException |
|
enableWifi
public boolean enableWifi ()
在裝置上啟用 Wi-Fi 狀態。
| 傳回 | |
|---|---|
boolean |
true (如果 Wi-Fi 已成功啟用) |
| 擲回 | |
|---|---|
DeviceNotAvailableException |
|
extractWifiUtilApk
public static File extractWifiUtilApk ()
從類別路徑擷取 Wi-Fi 實用工具 APK 的輔助方法
| 傳回 | |
|---|---|
File |
|
| 擲回 | |
|---|---|
IOException |
|
getBSSID
public String getBSSID ()
取得目前存取點的基本服務集 ID (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> |
包含 Wi-Fi 連線資訊的地圖。 |
| 擲回 | |
|---|---|
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)
等待系統將 IP 位址指派給 Wi-Fi 介面卡。
| 參數 | |
|---|---|
timeout |
long:等待時間長度 |
| 傳回 | |
|---|---|
boolean |
true if an ip address is assigned before timeout, false
otherwise |
| 擲回 | |
|---|---|
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 |
|