在wifi列表中查找字符串

时间:2017-11-07 16:58:45

标签: processing

所以我想在处理过程中从wifi扫描中获取特定的路由器信息。 首先我扫描wifi并将其保存到列表中。

 
WifiManager wifiManager = (WifiManager)getActivity().getSystemService(Context.WIFI_SERVICE); 
    wifiManager.startScan();

   List<ScanResult> wifiList = wifiManager.getScanResults();

然后我检查是否有任何项目等于我正在搜索的路由器名称(“dlink”)。

for(int i = 0; i < wifiList.size();i++){

if( wifiList.get(i).SSID.toString() == "dlink"){
         con[0] = "router1 found";
}
}

输出只是null。 我知道路由器在那里的事实。我打印出列表,检查路由器wifiList的位置。将该路由器的SSID从列表与路由器名称进行比较,但它不起作用。我用char打印出路由器名称char,它是一样的。

1 个答案:

答案 0 :(得分:1)

您几乎不应该使用==来比较String值。您应该使用equals()函数。

来自the reference

  

要比较两个字符串的内容,请使用equals()方法,如if (a.equals(b)),而不是if (a == b)。 String是一个Object,因此将它们与==运算符进行比较只会比较两个字符串是否存储在同一个内存位置。使用equals()方法将确保比较实际内容。 (troubleshooting引用有更长的解释。)

另请参阅:How do I compare strings in Java?