Obter SSID quando o Wi-Fi estiver conectado
Estou tentando obter o SSID da rede Wi-Fi quando meu dispositivo Android está conectado ao Wi-Fi.
Registrei um BroadcastReceiver ouvindoandroid.net.wifi.supplicant.CONNECTION_CHANGE
. Recebo a notificação quando o WIFI é desconectado ou reconectado. Infelizmente, não consigo obter o SSID da rede.
Estou usando o seguinte código para encontrar o SSID:
WifiManager wifiManager = (WifiManager) context.getSystemService(context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
String ssid = wifiInfo.getSSID();
Em vez do SSID, eu recebo a string<unknown ssid>
de volta.
Essas são as permissões no manifesto (adicionei ACCESS_NETWORK_STATE apenas para verificar, na verdade não preciso disso)
<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"/>
Por que isso acontece? Como posso obter o SSID real? A transmissão é disparada cedo, antes da conexão ser estabelecida? Existe outra transmissão que eu deveria ouvir? Estou interessado apenas em conexões Wi-Fi, não em conexões 3G.
Atualização: Acabei de verificar,wifiInfo.getBSSID()
retorna nulo.