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

Android:获取“的通知”;移动数据“;网络类型更改,android,networking,broadcastreceiver,cellular-network,Android,Networking,Broadcastreceiver,Cellular Network,正在开发Android网络实用程序 我知道我们可以通过创建自己的广播接收器轻松处理网络状态的变化,并检查n/w是否从WiFi切换到移动数据 但是,当“移动数据”从一种网络类型切换到另一种网络类型时,是否有办法获得通知。基本上,我需要知道“移动数据”连接何时从一种网络类型跳到另一种网络类型,下面可以是各种网络类型: NETWORK_TYPE_1xRTT NETWORK_TYPE_CDMA NETWORK_TYPE_EDGE NETWORK_TYPE_EVDO_0 NETWORK_TYPE_EVDO

正在开发Android网络实用程序

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


谢谢

以下是您可以在IntentFilter中设置的广播意图操作:

android.net.conn.BACKGROUND\u数据\u设置\u已更改

android.net.conn.CONNECTIVITY\u更改

android.net.nsd.STATE\u已更改

android.net.wifi.NETWORK\u id\u已更改

android.net.wifi.RSSI_已更改

android.net.wifi.SCAN_结果

android.net.wifi.STATE\u更改

android.net.wifi.wifi\u状态\u已更改

android.net.wifi.p2p.CONNECTION\u STATE\u CHANGE

android.net.wifi.p2p.DISCOVERY\u状态\u更改

android.net.wifi.p2p.PEERS\u已更改

android.net.wifi.p2p.STATE\u已更改

android.net.wifi.p2p.此设备已更改

android.net.wifi.suplicant.CONNECTION\u更改

android.net.wifi.suplicant.STATE\u更改


您可以使用这些来触发您的广播接收器,从那里您可以获得对TelephonyManager的引用,并使用getNetworkType()检查网络类型。

如果移动数据从2G切换到3G,将调用哪种操作?因为只有这三种操作没有以“android.net.wifi”开头我猜这是其中之一:
android.net.conn.BACKGROUND\u DATA\u SETTING\u CHANGE android.net.conn.CONNECTIVITY\u CHANGE android.net.nsd.STATE\u CHANGE
最有可能的是android.net.conn.BACKGROUND\u DATA\u SETTING\u CHANGE