导航:首页 > 操作系统 > androidwifi加密类型

androidwifi加密类型

发布时间:2023-03-11 22:30:32

① 安卓机怎么查看自己的wifi密码

手机查看wifi密码需要手机具备分享网络的功能,打开手机设置,选择无线网络后,点击已经连接上的wifi右边的叹号,选择分享网络并保存二维码。打开手机微信点击右上角+号,选择扫一扫,选择右上角三点标志的按钮后点击从相册选择二维码,选择刚刚保存的二维码后系统会自动扫描识别,英文里引号内的就是wifi密码。这里以安卓手机和微信(7.0.0版本)为例演示一下。
开启分步阅读模式
手机WIFI查看密码
01
进入手机设置,选择“无线网络”。



02
点击想要查看密码的WIFI信号。



03
选择“分享网络”。



04
保存弹框出现的二维码图片。



05
保存完成后,切换到微信界面,选择“+”。



06
选择“扫一扫”。



07
点击右上角“三点符号”。



08
选择“从相册选取二维码”。



09
点击保存的二维码图片,等待系统扫描后,即会出现密码,其中“”中的字符即为WIFI密码。

通过以上的掩饰,我相信你应该知道怎样在自己的手机上查找自己的WiFi密码了,是不是非常简单呢?赶快去试着找找看吧。

② 有关android内核的wifi驱动api

通过程序来实现wifi的自动连接。

这两天对android的wifi功能研究了一下。下面共享出自己封装的WifiConnect类。(这里参考了ZXing开源项目中wifi模块)

首先,要了解android关于wifi的API.

如果喜欢看English API,这是android关于wifi的API地址:

http://developer.android.com/reference/android/net/wifi/package-summary.html(配置Wifi,还需要设定权限,android中关于wifi的API文档中说明了要添加什么权限)

如果一看英语就头疼,这里有关于wifi的api的中文解释

http://note.sdo.com/u/1500295617/n/prb71~jGAHfpnM0l000bgN

切入正题,这里贴出一个封装了的类(WifiConnect),在实例化WifiConnect对象时,需要传入一个WifiManager对象。WifiConnect类向外部提供一个Connect方法,参数是无线的SSID,password,还有加密类型。

[java] view plainprint?
  1. <spanstyle="font-size:18px;">packagecom.example.aptest;
  2. importjava.util.List;
  3. importandroid.net.wifi.WifiConfiguration;
  4. importandroid.net.wifi.WifiManager;
  5. publicclassWifiConnect{
  6. WifiManagerwifiManager;
  7. //定义几种加密方式,一种是WEP,一种是WPA,还有没有密码的情况
  8. publicenumWifiCipherType
  9. {
  10. WIFICIPHER_WEP,WIFICIPHER_WPA,WIFICIPHER_NOPASS,WIFICIPHER_INVALID
  11. }
  12. //构造函数
  13. publicWifiConnect(WifiManagerwifiManager)
  14. {
  15. this.wifiManager=wifiManager;
  16. }
  17. //打开wifi功能
  18. privatebooleanopenWifi()
  19. {
  20. booleanbRet=true;
  21. if(!wifiManager.isWifiEnabled())
  22. {
  23. bRet=wifiManager.setWifiEnabled(true);
  24. }
  25. returnbRet;
  26. }
  27. //提供一个外部接口,传入要连接的无线网
  28. publicbooleanconnect(StringSSID,StringPassword,WifiCipherTypeType)
  29. {
  30. if(!this.openWifi())
  31. {
  32. returnfalse;
  33. }
  34. //开启wifi功能需要一段时间(我在手机上测试一般需要1-3秒左右),所以要等到wifi
  35. //状态变成WIFI_STATE_ENABLED的时候才能执行下面的语句
  36. //WifiManager.WIFI_STATE_ENABLING2
  37. //WifiManager.WIFI_STATE_ENABLED3
  38. System.out.println("wifiManager.getWifiState()"+wifiManager.getWifiState());
  39. while(wifiManager.getWifiState()==WifiManager.WIFI_STATE_ENABLING)
  40. {
  41. System.out.println("wifiManager.getWifiState"+wifiManager.getWifiState());
  42. try{
  43. //为了避免程序一直while循环,让它睡个100毫秒在检测……
  44. Thread.currentThread();
  45. Thread.sleep(100);
  46. }
  47. catch(InterruptedExceptionie){
  48. }
  49. }
  50. WifiConfigurationwifiConfig=this.createWifiInfo(SSID,Password,Type);
  51. //
  52. if(wifiConfig==null)
  53. {
  54. returnfalse;
  55. }
  56. WifiConfigurationtempConfig=this.isExsits(SSID);
  57. if(tempConfig!=null)
  58. {
  59. wifiManager.removeNetwork(tempConfig.networkId);
  60. }
  61. intnetID=wifiManager.addNetwork(wifiConfig);
  62. booleanbRet=wifiManager.enableNetwork(netID,false);
  63. returnbRet;
  64. }
  65. //查看以前是否也配置过这个网络
  66. (StringSSID)
  67. {
  68. List<WifiConfiguration>existingConfigs=wifiManager.getConfiguredNetworks();
  69. for(:existingConfigs)
  70. {
  71. if(existingConfig.SSID.equals("""+SSID+"""))
  72. {
  73. returnexistingConfig;
  74. }
  75. }
  76. returnnull;
  77. }
  78. (StringSSID,StringPassword,WifiCipherTypeType)
  79. {
  80. WifiConfigurationconfig=newWifiConfiguration();
  81. config.allowedAuthAlgorithms.clear();
  82. config.allowedGroupCiphers.clear();
  83. config.allowedKeyManagement.clear();
  84. config.allowedPairwiseCiphers.clear();
  85. config.allowedProtocols.clear();
  86. config.SSID="""+SSID+""";
  87. if(Type==WifiCipherType.WIFICIPHER_NOPASS)
  88. {
  89. config.wepKeys[0]="""+""";;
  90. config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
  91. config.wepTxKeyIndex=0;
  92. //或者下面两段代码也可以
  93. //config.hiddenSSID=true;
  94. //config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
  95. }
  96. elseif(Type==WifiCipherType.WIFICIPHER_WEP)
  97. {
  98. config.wepKeys[0]="""+Password+""";
  99. config.hiddenSSID=true;
  100. config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED);
  101. config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
  102. config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
  103. config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);
  104. config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104);
  105. config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
  106. config.wepTxKeyIndex=0;
  107. }
  108. elseif(Type==WifiCipherType.WIFICIPHER_WPA)
  109. {
  110. config.preSharedKey="""+Password+""";
  111. config.hiddenSSID=true;
  112. config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
  113. config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
  114. config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
  115. config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
  116. //config.allowedProtocols.set(WifiConfiguration.Protocol.WPA);//这句好像不行
  117. config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
  118. config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
  119. config.status=WifiConfiguration.Status.ENABLED;
  120. }
  121. else
  122. {
  123. returnnull;
  124. }
  125. returnconfig;
  126. }
  127. }
  128. </span>
阅读全文

与androidwifi加密类型相关的资料

热点内容
云服务器服务模型架构 浏览:899
删文件夹什么指令 浏览:507
极速抖音已加密怎么办 浏览:601
matlab拉格朗日算法框图 浏览:428
华为公司计算机视觉算法顾问 浏览:252
夏老师讲的单片机 浏览:296
在编程中如何将图片放大 浏览:161
appstore怎么看是否付费 浏览:603
程序员和硕士 浏览:951
gcc编译消耗内存过多 浏览:281
昌邑网站制作源码 浏览:127
单片机的反向编译 浏览:463
subsample算法 浏览:899
苹果免费看书app哪个最好 浏览:885
c语言加密怎么弄 浏览:842
c语言编译的错误提示 浏览:767
验机苹果app哪个最好 浏览:666
光遇国际服安卓如何购买礼包 浏览:55
163app怎么下载 浏览:247
电脑程序员下场 浏览:45