Android 关于wifi管理的代码
16lz
2021-01-23
开启和关闭wifi的代码
1、需要申请的权限
android.permission.ACCESS_WIFI_STATE
android.permission.CHANGE_WIFI_STATE
android.permission.WAKE_LOCK
2、获取WifiManager
wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
3、开启、关闭wifi
if (wifiManager.isWifiEnabled()) {
wifiManager.setWifiEnabled(false);
} else {
wifiManager.setWifiEnabled(true);
}
Android设置wifi
1.new 一个wificonfiguration对象。
2.设置这个对象的一些属性。
[java] view plain copy- <spanstyle="font-size:18px">WifiConfigurationwc=newWifiConfiguration();
- wc.SSID="\""+sr.SSID+"\"";//<spanstyle="color:rgb(255,0,0);">这个地方一定要注意了。旁边的“是不能够省略的。密码的地方也一样。</span>
- wc.preSharedKey="\""+etPassword.getText().toString()+"\"";//该热点的密码
- wc.hiddenSSID=true;
- wc.status=WifiConfiguration.Status.ENABLED;
- wc.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
- 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.WPA);</span>
3.判断wifi是否加密:[java] view plain copy
- <spanstyle="font-size:18px">publicstaticintgetSecurity(ScanResultresult){
- if(result.capabilities.contains("WEP")){
- return1;
- }elseif(result.capabilities.contains("PSK")){
- return2;
- }elseif(result.capabilities.contains("EAP")){
- return3;
- }
- return0;
- }
- </span>
4.连接未加密wifi连接:
[java] view plain copy- <spanstyle="font-size:18px"><prename="code"class="java">WifiConfigurationconfig=newWifiConfiguration();
- config.SSID="\""+sr.SSID+"\"";
- config.allowedKeyManagement.set(KeyMgmt.NONE);
- intnetworkId=wifiManager.addNetwork(config);
- if(networkId!=-1){
- wifiManager.enableNetwork(networkId,false);
- wifiManager.saveConfiguration();
- }</pre><p></p>
- <pre></pre>
- <p></p>
- </span>
更多相关文章
- Android 带密码输入界面的Dialog实现机制
- IntentService通过HandlerThread单独开启一个线程来处理所有Inte
- Android上下文对象Context
- Android开发菜鸟到高手必备的十本畅销书籍
- android默认debug.keystore的密码
- Android动态显示隐藏密码输入框的内容
- android菜鸟学习笔记15----Android Junit测试
- Android菜鸟的成长笔记——Android Studio使用小结
- Android 访问Webservice接口,参数对象不能串行化问题解决(java.lan