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().