AndroidFacadeAPI

Wi-Fi

このエントリーをはてなブックマークに追加
最終更新日 2016-12-31

設定

次に示すのは、Wi-Fi の状態をトーストで表示し、最後に ON と OFF を切り替える例です。

import android
droid = android.Android()
if droid.checkWifiState().result:
    droid.makeToast("ON")
else:
    droid.makeToast("OFF")
droid.toggleWifiState()

checkWifiState() は Wi-Fi の状態が ON の場合は True を返し、OFF の場合は False を返します。 toggleWifiState() を呼び出すと現在の状態を切り替えることができ、 第1引数に True を指定することで常に ON に設定することができます。

スキャン

次に示すのは、Wi-Fi アクセスポイントをスキャンする例です。

import android
droid = android.Android()
droid.wifiStartScan()
print droid.wifiGetScanResults()

wifiStartScan() を呼び出すと Wi-Fi アクセスポイントのスキャンが開始され、 wifiGetScanResults() を呼び出すと直近にみつかった Wi-Fi アクセスポイント情報が取得できます。 アクセスポイントは複数みつかる可能性があるため、リストで取得されます。 リストの要素には以下の値が含まれます。

項目 説明
bssid アクセスポイントのMACアドレス
ssid ネットワーク名
capabilities 認証方法
frequency 周波数
level 信号レベル

接続

次に示すのは、アクティブな Wi-Fi アクセスポイント情報を取得する例です。

import android
droid = android.Android()
droid.wifiReconnect()
print droid.wifiGetConnectionInfo()
droid.wifiDisconnect()

wifiReconnect() を呼び出すと Wi-Fi 接続されていない場合は再接続され、 wifiDisconnect() を呼び出すと切断されます。 なお、wifiReassociate() を呼び出すと Wi-Fi 接続されていても再接続されます。 wifiGetConnectionInfo() はアクティブな Wi-Fi アクセスポイント情報として以下の値を返します。

項目 説明
bssid アクセスポイントのMACアドレス
ssid ネットワーク名
network_id ネットワークID
supplicant_state サプリカントの状態
link_speed リンク速度
mac_address MACアドレス
rssi 受信信号強度
ip_address IPアドレス
hidden_ssid ネットワーク名が非表示かどうかのフラグ

ロック

ロックを利用すると、デバイスがオフの状態でも Wi-Fi はアクティブなままとなります。 wifiLockAcquireFull() は接続を確立し、既知のアクセスポイントが無い場合は定期的にスキャンします。 wifiLockAcquireScanOnly() はスキャンのみサポートします。 wifiLockRelease() を呼び出すとロックを解除します。