好的,这可能是一个非常愚蠢的问题,但老实说,我不能弄清楚这里发生了什么,我试图将当前的SSID与另一个变量进行比较:< / p>
WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
String SSID = wifiInfo.getSSID().replace("SSID: ","");
if(myWifi.equals(SSID)){
} else {
}
现在,正如您所知,wifiInfo.getSSID()
返回一个类似于此SSID: wifi1
的字符串。我们假设myWifi
的值为wifi1
,如果与wifiInfo.getSSID()
进行比较,它会说它是假的,因为它是,所以我&# 39; m试图将SSID:
部分替换为空,希望只获取SSID名称(wifi1),这样就可以比较字符串并返回true。但是使用上面的代码会使SSID变量的值为"wifi1"
,因此应用说它是假的,因为"wifi1"
与wifi1
不同。
为什么会这样?
答案 0 :(得分:3)
在删除.replaceAll("\"","");
部分后,只需使用SSID
即可。所以你将拥有:
String SSID = wifiInfo.getSSID().replace("SSID: ","").replaceAll("\"","");
这将删除所有"
,无论它们在字符串中的位置。
答案 1 :(得分:-1)
我会使用String.Contains来检查你想要的字符串。
bool wifiNameExists = wifiInfo.Contains("wifi1")
你可以当然替换&#34; wifi1&#34;使用包含您要搜索的wifi名称的字符串。