首页 文章

Android获取当前连接的wifi网络的SSID

提问于
浏览
0

有几个人提出了有关获取SSID的问题,所有这些问题都只是分散工作 . 根据Android API,wifiInfo.getSSID()应该返回一个字符串,但无论我做什么,if语句都返回false . 我想查看我的手机是否连接到“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);
    }

}

我究竟做错了什么?

1 回答

  • 4

    但无论我做什么,if语句都返回false .

    首先,当您比较字符串时,您必须使用equals(),因为您想要比较值而不是引用:

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

    因此,它不适合你 . 您当前的方案将始终返回 false ,因为您正在将字符串引用与 == 进行比较

    Note: 有时非常"handy"使用equalsIgnoreCase() - 使用此方法,比较不区分大小写 .

相关问题