当networkType(Telephony Manager)更改时,广播哪个Intent

时间:2014-03-21 06:22:20

标签: android android-intent broadcastreceiver

我希望我的应用程序在networkType更改时自动通知用户(例如从EDGE到3G或3G到1XRTT等)。使用getNetworkType()方法,我必须不断检查networkType的变化。当检测到变化时,是否在整个系统中广播某种意图。我正在使用

IntentFilter intentFilter = new IntentFilter();  
intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");

但它仅检测网络连接更改的变化,而不是networkType。是否有任何其他意图或监听器检测networkType chaange。

2 个答案:

答案 0 :(得分:0)

尝试使用广播接收器内的Telephony管理器过滤连接。这个链接可以帮到你。 connection change

答案 1 :(得分:0)

也许ACTION_ANY_DATA_CONNECTION_STATE_CHANGED广播行动就是你想要的。

IntentFilter filter = new IntentFilter();
filter.addAction(TelephonyIntents.ACTION_ANY_DATA_CONNECTION_STATE_CHANGED);
filter.addAction(TelephonyIntents.ACTION_DATA_CONNECTION_FAILED);
filter.addAction(DataConnectionTracker.ACTION_DATA_CONNECTION_TRACKER_MESSENGER);