通过连接管理器和广播接收器,我能够获取连接和断开连接事件,如下所述埃里克的帖子在这里 https://stackoverflow.com/questions/1783117/network-listener-android
我想知道的是网络连接时类型的变化。
例如:3G 到 H+,反之亦然。我看到当此更改发生时,OnReceive(..) 内没有任何事件...
为了清晰起见,用户案例:
步骤1:启用3G连接,以广播(BCR)接收事件并进行处理
步骤2:开始呼叫,连接从3G更改为h+,但BCR中没有任何事件。
预期输出:当从 3G 更改为 h+ 或 Edge 时,预计 BCR 中会发生事件...
在这里,您可以在 switch 语句上执行某些操作。线程可以调用以下代码并监视网络。
获取网络类型 https://stackoverflow.com/questions/2919414/get-network-type
TelephonyManager teleMan =
(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
int networkType = teleMan.getNetworkType();
switch (networkType)
{
case 7:
textV1.setText("1xRTT");
break;
case 4:
textV1.setText("CDMA");
break;
case 2:
textV1.setText("EDGE");
break;
case 14:
textV1.setText("eHRPD");
break;
case 5:
textV1.setText("EVDO rev. 0");
break;
case 6:
textV1.setText("EVDO rev. A");
break;
case 12:
textV1.setText("EVDO rev. B");
break;
case 1:
textV1.setText("GPRS");
break;
case 8:
textV1.setText("HSDPA");
break;
case 10:
textV1.setText("HSPA");
break;
case 15:
textV1.setText("HSPA+");
break;
case 9:
textV1.setText("HSUPA");
break;
case 11:
textV1.setText("iDen");
break;
case 13:
textV1.setText("LTE");
break;
case 3:
textV1.setText("UMTS");
break;
case 0:
textV1.setText("Unknown");
break;
}
update
http://developer.android.com/reference/android/content/BroadcastReceiver.html http://developer.android.com/reference/android/content/BroadcastReceiver.html
android sdk 中网络事件的意图操作 https://stackoverflow.com/questions/2294971/intent-action-for-network-events-in-android-sdk
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)