मैं एक आईओटी डिवाइस के लिए एक एंड्रॉइड ऐप प्रोग्रामिंग कर रहा हूं। मुझे डिवाइस को वाईफाई उपयोगकर्ता नाम और पासवर्ड देना है, इसलिए मैं ऐसा करने के लिए एंड्रॉइड ऐप का उपयोग कर रहा हूं। मेरे पास निम्न कोड है, लेकिन ऐसा लगता है कि यह हमेशा नेटवर्क मौसम से कनेक्ट होता है या सही पासवर्ड नहीं दिया जाता है।एंड्रॉइड टेस्ट वाईफाई कनेक्शन प्रोग्रामेटिक
यह मैं उसी एपी पर इसका परीक्षण कर रहा हूं कि मेरा फोन कनेक्ट है।
वांछित कार्रवाई वर्तमान एपी से
डिस्कनेक्ट है -> दिए गए क्रेडेंशियल्स का उपयोग कनेक्ट करने का प्रयास -> मूल नेटवर्क से कनेक्ट करें।
वाईफ़ाई नेटवर्क और पासवर्ड को सही तरीके से सत्यापित करने के लिए मुझे किन कदमों की आवश्यकता है?
कोड:
WifiConfiguration conf = new WifiConfiguration();
conf.SSID = "\"" + ssid + "\"";
for(ScanResult sr: wifiList){
if(sr.SSID.equals(ssid)){
if(sr.capabilities.contains("WEP")){
if(isNumeric(pass)){
conf.wepKeys[0] = pass ;
}else{
conf.wepKeys[0] = "\"" + pass + "\"";
}
conf.wepTxKeyIndex = 0;
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
conf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);
}else if(sr.capabilities.contains("PSK")){
conf.preSharedKey = "\""+ pass +"\"";
}else if(sr.capabilities.contains("EAP")){
wifiName.setError("EAP networks not supported");
//todo support EAP
}else{
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
}
WifiManager wifiManager = (WifiManager) getActivity().getSystemService(Context.WIFI_SERVICE);
wifiManager.addNetwork(conf);
List<WifiConfiguration> list = wifiManager.getConfiguredNetworks();
for(WifiConfiguration i : list) {
if(i.equals(conf)) {
wifiManager.disconnect();
if(!wifiManager.enableNetwork(i.networkId, true)){
wifiPassword.setError("Incorrect Password");
wifiManager.reconnect();
return;
}else{
wifiManager.reconnect();
addUser(deviceSN, ssid, pass);
}
}
}
break;
}
}
आप इस को ठीक कर दिया की तरह है? मुझे भी इस मुद्दे का सामना करना पड़ रहा है। अगर मैं गलत पासवर्ड जोड़ता हूं तो भी सच हो जाता है। तो क्या आप इस समस्या को हल करने के विचार का सुझाव दे सकते हैं – AngelJanniee