我正在开发Android应用程序。该应用程序将在启动时继续尝试连接到专用的WiFi AP。这很有效。但是,当我测试关闭AP时,所以应用程序必须已从AP断开连接,当我使用WifiManager.getConnectionInfo().getSSID()
检查SSID时,我的应用程序仍会返回AP的SSID,为什么?如何在未连接的情况下更新当前的SSID,即使它返回“unknown ssid”?
下面是我检查SSID的方法,应用程序将连续调用此方法:
WifiManager wifiManager; // <- In MainAativity
// ....
int checkWiFiSSID() {
wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
if (!wifiManager.isWifiEnabled()) {
Log.d(TAG, "WiFi is disabled, enable it now");
wifiManager.setWifiEnabled(true);
} else {
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
String ssid = wifiInfo.getSSID();
// This line always show the AP SSID even the AP is powered down, why??
Log.d(TAG, "AP SSID: " + ssid);
}
}
谢谢。
更新:
仔细阅读文档后,我发现如果WifiManager尝试连接到AP,即使没有连接,getSSID()也会返回其SSID。因为我的应用程序一旦断开连接就会继续尝试连接到AP。我想这就是原因,但我不确定。