【问题标题】:Android get SSID of currently connected wifi networkAndroid获取当前连接的wifi网络的SSID
【发布时间】:2014-05-27 16:09:29
【问题描述】:

有几个人提出了有关获取 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);
    }

}

我做错了什么?

【问题讨论】:

    标签: android string wifi ssid


    【解决方案1】:

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

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

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

    因此,它对您不起作用。您当前的场景将始终返回 false,因为您将字符串引用与 ==

    进行比较

    注意:有时使用equalsIgnoreCase() 非常“方便” - 使用此方法时,比较不区分大小写。

    【讨论】:

      猜你喜欢
      • 2021-02-16
      • 1970-01-01
      • 1970-01-01
      • 2017-02-02
      • 2020-02-20
      • 2011-06-08
      • 2019-03-01
      • 2021-04-11
      • 2014-02-18
      相关资源
      最近更新 更多