android wifi

lostinai發表於2013-08-24

getConfiguredNetworks 

返回的手機檔案中


的內容 。通過這個也可以檢視wifi密碼

ctrl_interface=tiwlan0
update_config=1

network={
	ssid="ChinaNet_HomeCW"
	key_mgmt=NONE
	priority=100002
	credit=1
	operater=1
}

network={
	ssid="ChinaNet_CW"
	key_mgmt=NONE
	priority=100001
	credit=1
	operater=1
}

network={
	ssid="ChinaNet"
	key_mgmt=NONE
	priority=100000
	credit=1
	operater=1
}

network={
	ssid="FHTKF"
	psk="12345678"
	key_mgmt=WPA-PSK
}

network={
	ssid="JIANJIE"
	psk="ABCDEFGhij"
	key_mgmt=WPA-PSK
}

network={
	ssid="yfb002"
	psk="yfbbfy12"
	key_mgmt=WPA-PSK
}

network={
	ssid="CMCC-EDU"
	key_mgmt=NONE
}

network={
	ssid="NETGEAR - 0"
	key_mgmt=NONE
}

network={
	ssid="fht"
	psk="hhthht789"
	key_mgmt=WPA-PSK
	credit=1
}

network={
	ssid="zhongyangchengbang"
	key_mgmt=NONE
}

addNetwork

將wifi資訊新增到上面的檔案中

WifiConfiguration wc = new WifiConfiguration();
// 在網路中新增新的的WIFI AP並連線
wc.SSID = "\"SSIDName\"";
wc.preSharedKey = "\"password\"";
wc.hiddenSSID = true;
wc.status = WifiConfiguration.Status.ENABLED;
wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
wc.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
int res = wm.addNetwork(wc);
log("add Network returned " + res);
boolean b = wm.enableNetwork(res, true);
log("wm.enableNetwork-->"+b);

getScanResults 

返回的是剛掃描到的wifi

wifiLock鎖

手機螢幕關閉之後,並且其他的應用程式沒有在使用wifi的時候,系統大概在兩分鐘之後,會關閉wifi,使得wifi處於睡眠狀態。

這樣的做法,有利於電源能量的節省和延長電池壽命等。

android為wifi提供了一種叫WifiLock的鎖,能夠阻止wifi進入睡眠狀態,使wifi一直處於活躍狀態。這種鎖,在下載一個較大的檔案的時候,比較適合使用。

WifiLock  wl=wm.createWifiLock("test");
//wl=wm.createWifiLock(WifiManager.WIFI_MODE_FULL,"test");
wl.acquire();  //加鎖
wl.release();//取消鎖
wl.isHeld();//是否加鎖


 

相關文章