使用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,我是否可以收到通知。
谢谢!
答案 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()检查网络类型。