Manifest (permissions declared and granted)
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
Main class
class MainActivity {
val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
val networkInfo = connectivityManager.activeNetwork
val capabilities = connectivityManager.getNetworkCapabilities(networkInfo)
if (capabilities?.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) == true) {
val wifiInfo = capabilities.transportInfo as WifiInfo
Log.d("DEBUG", "ssid: ${wifiInfo.ssid}")
}
val wifiManager = context.applicationContext.getSystemService(Context.WIFI_SERVICE) as WifiManager
val connectionInfo = wifiManager.connectionInfo
Log.d("DEBUG", "ssid (deprecated) ${connectionInfo.ssid}")
}
output
ssid: <unknown ssid>
ssid (deprecated): "bingo"
How to retrieve the SSID while targeting the latest API and use the latest, non deprecated functions?