使用连接管理器和广播接收器我能够按照Eric's post here所解释的那样获得连接和断开连接事件
我想知道的是网络连接时的类型变化。 例如:3G到H +,反之亦然..我发现当这种变化发生时OnReceive(..)内部没有事件......
清晰的用户案例: 步骤1:启用3G连接,在广播(BCR)中接收和处理事件 step2:开始呼叫,从3G到h +的连接变化,但BCR没有事件。
预期输出:当从3G变为h +或边缘时,预计BCR中会发生事件......
答案 0 :(得分:0)
在这里,在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