① 安卓機怎麼查看自己的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?
- <spanstyle="font-size:18px;">packagecom.example.aptest;
- importjava.util.List;
- importandroid.net.wifi.WifiConfiguration;
- importandroid.net.wifi.WifiManager;
- publicclassWifiConnect{
- WifiManagerwifiManager;
- //定義幾種加密方式,一種是WEP,一種是WPA,還有沒有密碼的情況
- publicenumWifiCipherType
- {
- WIFICIPHER_WEP,WIFICIPHER_WPA,WIFICIPHER_NOPASS,WIFICIPHER_INVALID
- }
- //構造函數
- publicWifiConnect(WifiManagerwifiManager)
- {
- this.wifiManager=wifiManager;
- }
- //打開wifi功能
- privatebooleanopenWifi()
- {
- booleanbRet=true;
- if(!wifiManager.isWifiEnabled())
- {
- bRet=wifiManager.setWifiEnabled(true);
- }
- returnbRet;
- }
- //提供一個外部介面,傳入要連接的無線網
- publicbooleanconnect(StringSSID,StringPassword,WifiCipherTypeType)
- {
- if(!this.openWifi())
- {
- returnfalse;
- }
- //開啟wifi功能需要一段時間(我在手機上測試一般需要1-3秒左右),所以要等到wifi
- //狀態變成WIFI_STATE_ENABLED的時候才能執行下面的語句
- //WifiManager.WIFI_STATE_ENABLING2
- //WifiManager.WIFI_STATE_ENABLED3
- System.out.println("wifiManager.getWifiState()"+wifiManager.getWifiState());
- while(wifiManager.getWifiState()==WifiManager.WIFI_STATE_ENABLING)
- {
- System.out.println("wifiManager.getWifiState"+wifiManager.getWifiState());
- try{
- //為了避免程序一直while循環,讓它睡個100毫秒在檢測……
- Thread.currentThread();
- Thread.sleep(100);
- }
- catch(InterruptedExceptionie){
- }
- }
- WifiConfigurationwifiConfig=this.createWifiInfo(SSID,Password,Type);
- //
- if(wifiConfig==null)
- {
- returnfalse;
- }
- WifiConfigurationtempConfig=this.isExsits(SSID);
- if(tempConfig!=null)
- {
- wifiManager.removeNetwork(tempConfig.networkId);
- }
- intnetID=wifiManager.addNetwork(wifiConfig);
- booleanbRet=wifiManager.enableNetwork(netID,false);
- returnbRet;
- }
- //查看以前是否也配置過這個網路
- (StringSSID)
- {
- List<WifiConfiguration>existingConfigs=wifiManager.getConfiguredNetworks();
- for(:existingConfigs)
- {
- if(existingConfig.SSID.equals("""+SSID+"""))
- {
- returnexistingConfig;
- }
- }
- returnnull;
- }
- (StringSSID,StringPassword,WifiCipherTypeType)
- {
- WifiConfigurationconfig=newWifiConfiguration();
- config.allowedAuthAlgorithms.clear();
- config.allowedGroupCiphers.clear();
- config.allowedKeyManagement.clear();
- config.allowedPairwiseCiphers.clear();
- config.allowedProtocols.clear();
- config.SSID="""+SSID+""";
- if(Type==WifiCipherType.WIFICIPHER_NOPASS)
- {
- config.wepKeys[0]="""+""";;
- config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
- config.wepTxKeyIndex=0;
- //或者下面兩段代碼也可以
- //config.hiddenSSID=true;
- //config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
- }
- elseif(Type==WifiCipherType.WIFICIPHER_WEP)
- {
- config.wepKeys[0]="""+Password+""";
- config.hiddenSSID=true;
- config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED);
- config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
- config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
- config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);
- config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104);
- config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
- config.wepTxKeyIndex=0;
- }
- elseif(Type==WifiCipherType.WIFICIPHER_WPA)
- {
- config.preSharedKey="""+Password+""";
- config.hiddenSSID=true;
- config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
- config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
- config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
- config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
- //config.allowedProtocols.set(WifiConfiguration.Protocol.WPA);//這句好像不行
- config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
- config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
- config.status=WifiConfiguration.Status.ENABLED;
- }
- else
- {
- returnnull;
- }
- returnconfig;
- }
- }
- </span>