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();//是否加锁