wifi操作

WifiAnalyzerがおもしろいと思ったので真似してみようと思ったが……動かない。


http://www.adakoda.com/android/000257.html
をコピペして昨日のRSSReaderに入れてみる。

WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);

// android.permission.ACCESS_WIFI_STATE
int wifiState = wifiManager.getWifiState();
switch (wifiState) {
case WifiManager.WIFI_STATE_DISABLING:
Log.v("WifiState", "WIFI_STATE_DISABLING");
break;
case WifiManager.WIFI_STATE_DISABLED:
Log.v("WifiState", "WIFI_STATE_DISABLED");
break;
case WifiManager.WIFI_STATE_ENABLING:
Log.v("WifiState", "WIFI_STATE_ENABLING");
break;
case WifiManager.WIFI_STATE_ENABLED:
Log.v("WifiState", "WIFI_STATE_ENABLED");
break;
case WifiManager.WIFI_STATE_UNKNOWN:
Log.v("WifiState", "WIFI_STATE_UNKNOWN");
break;
}

logcat -dでログを見ると
V/WifiState( 787): WIFI_STATE_ENABLED
と表示。


追記。
wifiManager.startScan()してみたらCHANGE_WIFI_STATEがないと怒られた。
ACCESS_WIFI_STATEだけじゃだめなのか。


CHANGE〜を追加して、startScan()後にwifiManager.getScanResults()でスキャン結果とれた。

wifiManager.startScan();
List res = wifiManager.getScanResults();

SSID、BSSID、level, frequency, capabilitiesをそれぞれ表示可能。