これは非常にばかげた質問かもしれませんが、私は正直なところ、ここで何が起こっているのか分かりません、私は現在のSSIDをこのような別の変数と比較しようとしています:String.replaceは余分な引用符を返しています
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()
と比較するとfalseであると言われますので、SSID:
の部分を何も置き換えようとしていないので、SSID名(wifi1)のみを取得しています。比較して真を返すことができます。しかし、上記のコードを使用すると、"wifi1"
という値がSSID変数に設定されるため、"wifi1"
はwifi1
と同じではないため、falseと表示されます。
どうしてですか?
は「wifi1」のような文字列を二重引用符で返します。それらを置き換えてください – firegloves