使用 connectivitymanager 和广播接收器,我能够按照说明获取连接和断开连接事件 Eric's post here
我想知道的是网络连接时类型的变化。 例如:3G 到 H+,反之亦然。当发生这种变化时,我看到 OnReceive(..) 中没有事件......
为清楚起见,用户案例: step1: 启用 3G 连接,在广播 (BCR) 中接收事件并处理 step2:开始通话,连接从3G变为h+,但BCR没有任何事件。
预期输出:当从 3G 变为 h+ 或 Edge...时,预期 BCR 中的事件
最佳答案
在这里,您可以在 switch 语句上执行某些任务。线程可以调用以下代码并关注网络。
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;
}
更新
http://developer.android.com/reference/android/content/BroadcastReceiver.html
关于android - 如何在 Android 上检测网络类型从 3g 到 H+ 的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9703338/