Android 关于wifi管理的代码

本文介绍了在 Android 应用中如何控制 WiFi 的开关状态,包括申请必要的权限、使用 WifiManager 类来开启或关闭 WiFi。此外,还详细阐述了如何通过编程设置 WiFi 连接,包括创建并配置 WifiConfiguration 对象以实现对加密与非加密 WiFi 热点的连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

开启和关闭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
 
  1. <span style="font-size:18px">WifiConfiguration wc = new WifiConfiguration();  
  2. wc.SSID = "\""+sr.SSID+"\"";      //<span style="color: rgb(255, 0, 0); ">这个地方一定要注意了。旁边的“是不能够省略的。密码的地方也一样。</span>  
  3. wc.preSharedKey = "\""+etPassword.getText().toString()+"\"";      //该热点的密码  
  4. wc.hiddenSSID = true;  
  5. wc.status = WifiConfiguration.Status.ENABLED;  
  6. wc.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);  
  7. wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);  
  8. wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);  
  9. wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);  
  10. wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);  
  11. wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);  
  12. wc.allowedProtocols.set(WifiConfiguration.Protocol.WPA);</span>  
3.判断wifi是否加密:
[java]  view plain copy
 
  1. <span style="font-size:18px">    public static int getSecurity(ScanResult result) {  
  2.         if (result.capabilities.contains("WEP")) {  
  3.             return 1;  
  4.         } else if (result.capabilities.contains("PSK")) {  
  5.             return 2;  
  6.         } else if (result.capabilities.contains("EAP")) {  
  7.             return 3;  
  8.         }  
  9.         return 0;  
  10.     }  
  11.     </span>  

4.连接未加密wifi连接:

 

[java]  view plain copy
 
  1. <span style="font-size:18px"><pre name="code" class="java">WifiConfiguration config = new WifiConfiguration();  
  2. config.SSID = "\"" + sr.SSID + "\"";  
  3. config.allowedKeyManagement.set(KeyMgmt.NONE);  
  4. int networkId = wifiManager.addNetwork(config);  
  5. if(networkId != -1){  
  6.     wifiManager.enableNetwork(networkId, false);  
  7.     wifiManager.saveConfiguration();  
  8. }</pre><p></p>  
  9. <pre></pre>  
  10. <p></p>  
  11. </span>   

 

GZ应届大学生IT it菜鸟营

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值