Android: получать уведомления об изменениях типа сети "Мобильные данные"

Работа над утилитой сети Android Знай свою сеть Android

Я знаю, что мы можем легко справиться с изменениями в состоянии сети, создав собственный Broadcast Receiver и проверив, переключился ли n / w с WiFi на мобильные данные,

Но есть ли способ получить уведомление, когда "Мобильные данные" переключаются с одного типа сети на другой. По сути, мне нужно знать, когда соединение "мобильная передача данных" переходит от одного типа сети к другому. Ниже приведены различные типы сетей:

NETWORK_TYPE_1xRTT
NETWORK_TYPE_CDMA
NETWORK_TYPE_EDGE
NETWORK_TYPE_EVDO_0
NETWORK_TYPE_EVDO_A
NETWORK_TYPE_GPRS
NETWORK_TYPE_HSDPA
NETWORK_TYPE_HSPA
NETWORK_TYPE_HSUPA
NETWORK_TYPE_UMTS
NETWORK_TYPE_EHRPD
NETWORK_TYPE_EVDO_B
NETWORK_TYPE_HSPAP
NETWORK_TYPE_IDEN
NETWORK_TYPE_LTE

Например, могу ли я получить уведомление, если мобильные данные переключаются с EDGE на LTE.

Спасибо!

1 ответ

Вот действия по трансляции, которые вы можете поместить в свой IntentFilter:

android.net.conn.BACKGROUND_DATA_SETTING_CHANGED

android.net.conn.CONNECTIVITY_CHANGE

android.net.nsd.STATE_CHANGED

android.net.wifi.NETWORK_IDS_CHANGED

android.net.wifi.RSSI_CHANGED

android.net.wifi.SCAN_RESULTS

android.net.wifi.STATE_CHANGE

android.net.wifi.WIFI_STATE_CHANGED

android.net.wifi.p2p.CONNECTION_STATE_CHANGE

android.net.wifi.p2p.DISCOVERY_STATE_CHANGE

android.net.wifi.p2p.PEERS_CHANGED

android.net.wifi.p2p.STATE_CHANGED

android.net.wifi.p2p.THIS_DEVICE_CHANGED

android.net.wifi.supplicant.CONNECTION_CHANGE

android.net.wifi.supplicant.STATE_CHANGE

Вы можете использовать их для запуска вашего BroadcastReceiver, а оттуда вы можете получить ссылку на TelephonyManager и проверить тип сети с помощью getNetworkType().

Другие вопросы по тегам