首页 新闻 会员 周边

关于android中wifi设置问题,请问clear()作用是什么,各种set又代表什么,目的是什么

0
悬赏园豆:10 [已解决问题] 解决于 2023-03-25 19:27
  1. WifiConfiguration config = new WifiConfiguration();      
  2.  config.allowedAuthAlgorithms.clear();    
  3.  config.allowedGroupCiphers.clear();    
  4.  config.allowedKeyManagement.clear();    
  5.  config.allowedPairwiseCiphers.clear();    
  6.  config.allowedProtocols.clear();    
  7.  config.SSID = "\"" + SSID + "\"";      
  8. if(Type == NOPASS)    
  9. {    
  10.      config.wepKeys[0] = "";    
  11.      config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);    
  12.      config.wepTxKeyIndex = 0;    
  13. }    
  14. if(Type == WEP)    
  15. {    
  16.     config.preSharedKey = "\""+Password+"\"";     
  17.     config.hiddenSSID = true;      
  18.     config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED);    
  19.     config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);    
  20.     config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);    
  21.     config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);    
  22.     config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104);    
  23.     config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);    
  24.     config.wepTxKeyIndex = 0;    
  25. }    
  26. if(Type == WPA)    
  27. {    
  28.     config.preSharedKey = "\""+Password+"\"";    
  29.     config.hiddenSSID = true;      
  30.     config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);      
  31.     config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);                            
  32.     config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);                            
  33.     config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);                       
  34.     config.allowedProtocols.set(WifiConfiguration.Protocol.WPA);                         
  35.     config.status = WifiConfiguration.Status.ENABLED;      
  36. }    
星期六的美好的主页 星期六的美好 | 初学一级 | 园豆:185
提问于:2014-07-25 13:37
< >
分享
最佳答案
1

你可以这么理解,比如allowedGroupCiphers,它就是一些二进制位,每一位呢,代表是不是支持某种加密方式,clear之后全部清0,也就是什么加密方式都不支持,比如TKIP是0x1(就是举例子,不是真实值),那么allowedGroupCiphers.set(TKIP)之后allowedGroupCiphers就变成了0x1,就支持TKIP了,再set(WEP40),假设WEP40为0x2,那么再set之后allowedGroupCiphers就变成了0000 0011(二进制),这样就支持这两种加密方式了。

这段代码根据认证类型指定不同的配置(认证方式、加密方式、协议等),具体每一种配置的含义我也很模糊,没法给你更精确的解释了。

收获园豆:10
琴剑飘零 | 菜鸟二级 |园豆:419 | 2014-07-25 13:49

恩,大概理解你是意思,谢谢

星期六的美好 | 园豆:185 (初学一级) | 2014-08-19 20:24

你们搞懂了吗,我现在在学这个,好多疑惑

与或非01 | 园豆:154 (初学一级) | 2015-07-23 11:24
其他回答(1)
0

我现在也在研究这个,请问你搞懂了吗,我想请教你问题

与或非01 | 园豆:154 (初学一级) | 2015-06-18 13:03

不做安卓好多年了

支持(0) 反对(0) 星期六的美好 | 园豆:185 (初学一级) | 2023-03-25 19:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册