Vince-Rdv
Vince-Rdv

Reputation: 29

Android get SSID of currently connected wifi network

Several people have asked questions regarding getting the SSID, all of them only partionly work. According to the Android API wifiInfo.getSSID() should return a string, but no matter what I do the if statement returns false. I want to check if my phone is connected to "DieKantankys"

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
    WifiInfo wifiInfo = wifiManager.getConnectionInfo();

    //Log.d("wifiInfo", wifiInfo.toString());
    //Log.d("NetworkId",wifiInfo.getNetworkId());

    if(wifiInfo.getSSID()=="DieKantankys"){
        setContentView(R.layout.group_choose_activity);
    }else{
        setContentView(R.layout.not_connected_to_scouting_wifi_error);
    }

}

What am I doing wrong?

Upvotes: 0

Views: 6743

Answers (1)

Simon Dorociak
Simon Dorociak

Reputation: 33505

but no matter what I do the if statement returns false.

At first, when you are comparing Strings, you have to use equals() because you want to compare values and not references:

if (wifiInfo.getSSID().equals("DieKantankys")) {
   // do your stuff
}

For that reason it did't work for you. Your current scenario will always return false because you're comparing String references with ==

Note: Sometimes is very "handy" to use equalsIgnoreCase() - with an usage of this method, comparison is case-insensitive.

Upvotes: 4

Related Questions