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)

新しい 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)

指定された URL に HTTP リクエストを送信して接続を確認します。

void cleanUp()

リソースと wifi ヘルパー パッケージのインストールをクリーンアップします。

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()

クラスパスから 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)

Wi-Fi アダプタに 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)

新しい 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)

指定された URL に HTTP リクエストを送信して接続を確認します。

パラメータ
urlToCheck String: HTTP リクエスト チェックの宛先 URL

戻り値
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 パスフレーズ。null になることもあります。

urlToCheck String: HTTP リクエスト チェックの宛先 URL

戻り値
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 パスフレーズ。null になることもあります。

urlToCheck String: HTTP リクエスト チェックの宛先 URL

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)

Wi-Fi ネットワークに接続し、接続を確認します。

パラメータ
ssid String: 接続するネットワークの SSID

psk String: 使用する WPA-PSK パスフレーズ。null になることもあります。

urlToCheck String: HTTP リクエスト チェックの宛先 URL

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> Wi-Fi 接続情報を含むマップ。

例外
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: 接続を確認する URL。

戻り値
boolean オペレーションが成功した場合は true

例外
DeviceNotAvailableException

stopMonitor

public List<Long> stopMonitor ()

ネットワーク接続のモニタリングを停止します。

また、前回の IWifiHelper.startMonitor(long,String) 呼び出し以降のレイテンシ履歴も返します。

戻り値
List<Long> レイテンシの履歴。

例外
DeviceNotAvailableException

waitForIp

public boolean waitForIp (long timeout)

Wi-Fi アダプタに 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: 想定される 1 つ以上の Wi-Fi 状態

戻り値
boolean true(期待される状態のいずれかが発生した場合)。タイムアウトに達する前にどの状態も発生しなかった場合は false

例外
DeviceNotAvailableException