Как получить SSID подключенного Wi-FiAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как получить SSID подключенного Wi-Fi

Сообщение Anonymous »

Мне нужно получить SSID подключенного Wi-Fi, и сначала я попробовал это:

Код: Выделить всё

val wifiManager = applicationContext.getSystemService(Context.WIFI_SERVICE) as WifiManager
val wifiInfo = wifiManager.connectionInfo
textField.text = wifiInfo.ssid
Но wifiInfo.ssid возвращает при тестировании на эмуляторе с API 30 или Xiaomi Redmi Note 8 Pro (Android 11), как и в эмуляторе с API 27 wifiInfo.ssid возвращает правильный SSID.
Тогда я попробовал это:

Код: Выделить всё

val connectivityManager = getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
val request = NetworkRequest.Builder()
.addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
.build()
val networkCallback = object : ConnectivityManager.NetworkCallback() {
override fun onCapabilitiesChanged(network: Network, networkCapabilities: NetworkCapabilities) {
super.onCapabilitiesChanged(network, networkCapabilities)
//wifiInfo = networkCapabilities.transportInfo as WifiInfo
Log.d("%%%", "onCapabilitiesChanged: ${networkCapabilities.transportInfo}")
}
}
connectivityManager.requestNetwork(request, networkCallback)
connectivityManager.registerNetworkCallback(request, networkCallback)
Но networkCapabilities.transportInfo всегда имеет значение null
EDIT:
Разрешения в файле манифеста Запросить разрешение на определение местоположения в OnCreate():

Код: Выделить всё

ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.ACCESS_FINE_LOCATION), 1)
И это успешно выполнено.
РЕШИТЕ ​​1:
Я просто забыл включить геолокацию на моем телефоне)
Это решает проблему, когда я использую первый метод, берущий wifiinfi с помощью wifiManager.connectionInfo, но когда я использую второй метод с помощью networkCapabilities.transportInfo, он все равно возвращает ноль, и поскольку первый метод устарел в java возможно, его не стоит использовать.
Тогда буду рад вашим комментариям по поводу второго метода.

Подробнее здесь: https://stackoverflow.com/questions/746 ... -wifi-ssid
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»