有几个人提出了有关获取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 回答
首先,当您比较字符串时,您必须使用equals(),因为您想要比较值而不是引用:
因此,它不适合你 . 您当前的方案将始终返回 false ,因为您正在将字符串引用与
==
进行比较Note: 有时非常"handy"使用equalsIgnoreCase() - 使用此方法,比较不区分大小写 .