В трансляциях на android какая разница между
<action android:name = "android.net.wifi.STATE_CHANGE"/>
а также
<action android:name = "android.net.wifi.supplicant.CONNECTION_CHANGE" />
Действие android.net.wifi.supplicant.CONNECTION_CHANGE отправляет широковещательную рассылку, когда сеть подключена, но обычно до того, как у устройства есть IP-адрес, поэтому для этого нам нужно действие android.net.wifi.STATE_CHANGE.
Действие android.net.wifi.STATE_CHANGE получает широковещательную рассылку при отключении, только если устройство отключается от сети, но Wi-Fi все еще включен (например, когда точка доступа выходит за пределы диапазона)
Для получения дополнительной информации см. Официальный сайт разработчиков Android https://developer.android.com/reference/android/net/wifi/WifiManager#SUPPLICANT_CONNECTION_CHANGE_ACTION.
<action android:name = "android.net.wifi.STATE_CHANGE"/>
Broadcast intent action indicating that the state of Wi-Fi connectivity has changed.
<action android:name = "android.net.wifi.supplicant.CONNECTION_CHANGE" />
Broadcast intent action indicating that a connection to the supplicant has been established (and it is now possible to perform Wi-Fi operations) or the connection to the supplicant has been lost.
Примечание:
This constant was deprecated in API level P. This is no longer supported.
STATE_CHANGE: Действие с намерением широковещательной передачи, указывающее на изменение состояния подключения к Wi-Fi. Дополнение предоставляет новое состояние в форме объекта NetworkInfo.
Это ключ поиска для int, который указывает, включен ли Wi-Fi, отключен, включен, отключен или неизвестен.
CONNECTION_CHANGE: Действие широковещательного намерения, указывающее, что соединение с соискателем установлено (и теперь можно выполнять операции Wi-Fi) или что соединение с соискателем было потеряно. Один дополнительный обеспечивает состояние соединения как логическое, где истина означает СОЕДИНЕН.
Это ключ поиска для логического значения, указывающего, получено или потеряно соединение с демоном запрашивающего. {@code true} означает, что соединение существует.
P.S: SUPPLICANT_CONNECTION_CHANGE_ACTION устарел с уровня API P
Как мне получить дополнительный объект NetworkInfo. Я хочу знать, какой SSID отключен.
вы имеете в виду, вам нужно знать, когда устройство подключается или отключается от состояния сети (сеть доступна или нет)?
Я хочу начать действие при отключении определенного SSID. Я попробовал NetworkInfo networkInfo = intent.getParcelableExtra (WifiManager.EXTRA_NETWORK_INFO); в приемнике вещания. Объект networkInfo возвращает <unknownssid>
ты как это? причина EXTRA_NETWORK_INFO устарела. ConnectivityManager connectivityManager = (ConnectivityManager) myContext.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetwork = connectivityManager.getActiveNetworkInfo();
это потому, что в настоящее время нет активной сети по умолчанию
Не знаю, почему удалили EXTRA_NETWORK_INFO. Это давало мне все состояния, такие как подключено, подключено, отключено, аутентификация ...
Позвольте нам продолжить обсуждение в чате.
Прочтите официальный документ это по android.