gpt4 book ai didi

android - 如何在 Android 上检测网络类型从 3g 到 H+ 的变化

转载 作者:太空狗 更新时间:2023-10-29 15:19:08 25 4
gpt4 key购买 nike

使用 connectivitymanager 和广播接收器,我能够按照说明获取连接和断开连接事件 Eric's post here

我想知道的是网络连接时类型的变化。例如:3G 到 H+,反之亦然。当发生这种变化时,我看到 OnReceive(..) 中没有事件......

为清楚起见,用户案例:step1: 启用 3G 连接,在广播 (BCR) 中接收事件并处理step2:开始通话,连接从3G变为h+,但BCR没有任何事件。

预期输出:当从 3G 变为 h+ 或 Edge...时,预期 BCR 中的事件

最佳答案

在这里,您可以在 switch 语句上执行某些任务。线程可以调用以下代码并关注网络。

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;
}

更新

http://developer.android.com/reference/android/content/BroadcastReceiver.html

Intent action for network events in android sdk

关于android - 如何在 Android 上检测网络类型从 3g 到 H+ 的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9703338/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com