Получить SSID, когда WIFI подключен

Я пытаюсь получить SSID сети WIFI, когда мое устройство Android подключено к WIFI.

Я зарегистрировал BroadcastReceiver для прослушиванияandroid.net.wifi.supplicant.CONNECTION_CHANGE , Я получаю уведомление, когда WIFI отключен или повторно подключен. К сожалению, я не могу получить SSID сети.

Я использую следующий код, чтобы найти SSID:

WifiManager wifiManager = (WifiManager) context.getSystemService(context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
String ssid = wifiInfo.getSSID();

Вместо SSID я получаю строку<unknown ssid> назад.

Это разрешения в манифесте (я добавил ACCESS_NETWORK_STATE просто для проверки, мне это на самом деле не нужно)

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

Почему это происходит? Как я могу получить фактический SSID? Передается ли вещание рано, до установления соединения? Есть ли еще одна трансляция, которую я должен слушать? Меня интересуют только WIFI-соединения, а не 3G-соединения.

Обновление: я только что проверил,wifiInfo.getBSSID() возвращает ноль

Ответы на вопрос(8)

Ваш ответ на вопрос