String essidPrefix = MainFragment.configuration.getEssidPrefix();
    wifiManager.startScan();
    results = wifiManager.getScanResults();
    for(ScanResult scanResult : results){
        String scanWifi = scanResult.SSID;
       if(scanWifi.startsWith(essidPrefix)){
           bssid = scanResult.BSSID;
           //bssid now has two strings, abc123 and abc1234 for example

       }
    }
   //bssid here only returns abc123
    return bssid;

जैसा कि कोड में दिखाया गया है, मैं abc123 और abc1234 को scanResults.BSSID से कैसे जोड़ूं ताकि मैं इसे एक स्ट्रिंग के रूप में वापस कर सकूं?

0
Joshua Tan 26 सितंबर 2018, 08:13

1 उत्तर

आपको '+' ऑपरेटर का उपयोग करने के बजाय स्ट्रिंगबिल्डर (थ्रेड सुरक्षित नहीं) वर्ग का उपयोग करना चाहिए (क्योंकि यह अधिक मेमोरी का उपभोग करता है)।

String essidPrefix = MainFragment.configuration.getEssidPrefix();
wifiManager.startScan();
results = wifiManager.getScanResults();
StringBuilder sb = new StringBuilder();
for(ScanResult scanResult : results){
    String scanWifi = scanResult.SSID;
   if(scanWifi.startsWith(essidPrefix)){
       sb.append(scanResult.BSSID).append(",");
   }
}
sb.deleteCharAt((sb.length() - 1));
return sb.toString();
0
rahul kale 26 सितंबर 2018, 13:42