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
连接在一起,以便能够将其作为一个字符串返回?
如果我得到你的问题。
Java/Android中的字符串concat。
bssid = bssid+","+scanResult.BSSID; // comma separate
编辑
根据评论..您需要重置它。bssid = "";
所以你的代码将看起来像这样。
List<String> ids = new ArrayList<String>();
String essidPrefix = MainFragment.configuration.getEssidPrefix();
wifiManager.startScan();
results = wifiManager.getScanResults();
bssid = ""; // this will reset it
for(ScanResult scanResult : results){
String scanWifi = scanResult.SSID;
if(scanWifi.startsWith(essidPrefix)){
// if you want to avoid null
ids.add(scanResult.BSSID); // comma separate
}
}
//bssid here only returns abc123
return bssid = android.text.TextUtils.join(",", ids);
你应该使用StringBuilder(Not thread safe( 类进行连接,而不是使用"+"运算符(因为它会消耗更多内存(。
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();