Android:获取“移动数据”网络类型更改的通知

时间:2014-06-12 18:46:43

标签: android networking broadcastreceiver cellular-network

使用Android网络实用程序Know Your Android Network

我知道我们可以通过创建自己的广播接收器轻松处理网络状态的变化,并检查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 个答案:

答案 0 :(得分: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()检查网络类型。