如果我开始通过Wi-Fi的应用和我切换到3G,它打印0,15,所以它的移动网络,但我不知道为什么亚型手段.然后我切换回Wi-Fi并打印0,3秒(移动网络,NETWORK_TYPE_UMTS)并显示我已连接到我的UI上的移动网络,最终连接到Wi-Fi并打印1, 0.那么15意味着什么?文档没有说明这些价值观是什么.
if (networkInfo != null && networkInfo.isConnected()) { int netType = networkInfo.getType(); int netSubtype = networkInfo.getSubtype(); Log.d("Receiver", String.valueOf(netType)); Log.d("Receiver", String.valueOf(netSubtype)); if (netType == ConnectivityManager.TYPE_WIFI) { Log.i("Receiver", "WiFi"); } else if (netType == ConnectivityManager.TYPE_MOBILE && netSubtype == TelephonyManager.NETWORK_TYPE_UMTS && !telephonyManager.isNetworkRoaming()) { Log.i("Receiver", "Mobile"); } }
http://developer.android.com/reference/android/net/NetworkInfo.html#getSubtype()
So what does 15 means?
这意味着通过移动连接的互联网连接速度有多快,实际上是常数15 HSPA+
HSPA+ (also called Evolved HSPA or 4G) is a further evolution of HSPA that offers data speeds of up to 42 Mbps.
你可以去这篇文章
示例代码:
if(type==ConnectivityManager.TYPE_WIFI){ return true; }else if(type==ConnectivityManager.TYPE_MOBILE){ switch(subType){ case TelephonyManager.NETWORK_TYPE_1xRTT: return false; // ~ 50-100 kbps case TelephonyManager.NETWORK_TYPE_CDMA: return false; // ~ 14-64 kbps case TelephonyManager.NETWORK_TYPE_EDGE: return false; // ~ 50-100 kbps case TelephonyManager.NETWORK_TYPE_EVDO_0: return true; // ~ 400-1000 kbps case TelephonyManager.NETWORK_TYPE_EVDO_A: return true; // ~ 600-1400 kbps case TelephonyManager.NETWORK_TYPE_GPRS: return false; // ~ 100 kbps case TelephonyManager.NETWORK_TYPE_HSDPA: return true; // ~ 2-14 Mbps case TelephonyManager.NETWORK_TYPE_HSPA: return true; // ~ 700-1700 kbps case TelephonyManager.NETWORK_TYPE_HSUPA: return true; // ~ 1-23 Mbps case TelephonyManager.NETWORK_TYPE_UMTS: return true; // ~ 400-7000 kbps /* * Above API level 7, make sure to set android:targetSdkVersion * to appropriate level to use these */ case TelephonyManager.NETWORK_TYPE_EHRPD: // API level 11 return true; // ~ 1-2 Mbps case TelephonyManager.NETWORK_TYPE_EVDO_B: // API level 9 return true; // ~ 5 Mbps case TelephonyManager.NETWORK_TYPE_HSPAP: // API level 13 return true; // ~ 10-20 Mbps case TelephonyManager.NETWORK_TYPE_IDEN: // API level 8 return false; // ~25 kbps case TelephonyManager.NETWORK_TYPE_LTE: // API level 11 return true; // ~ 10+ Mbps // Unknown case TelephonyManager.NETWORK_TYPE_UNKNOWN: default: return false; }
看看NETWORK_TYPE_HSPAP
它有连接速度10-20 Mbps