此Android代码是否是在电话呼叫期间测试http网络可用性的正确方法,还是排除应包含的网络,反之亦然:
public boolean isOnline() {
TelephonyManager tm = (TelephonyManager)
getSystemService(Context.TELEPHONY_SERVICE);
if (tm.getNetworkType() > TelephonyManager.NETWORK_TYPE_EDGE)
return true;
return false;
}
答案 0 :(得分:4)
任何GSM网络都允许在使用电话网络时进行网络访问。 CDMA网络不允许这样做。但如果内存正确地为我服务,当Verizon转向LTE时,即使在手机上也应该能够进行网络访问。这是因为他们可能会将CDMA用于语音网络并将LTE用于数据。 Sprint使用WiMax作为他们的4G,但我不知道他们是否仍在使用CDMA语音和使用WiMax进行数据。
GSM网络可以在手机上使用数据网络的原因是因为它们为两者使用2个不同的“网络”。 GSM实际上是语音数据,UMTS / HSPA是用于Web数据。 HSPA +适用于T-mobiles“4G”,它基本上是升级到他们的HSPA网络。
如果在电话上连接到WiFi,任何运营商都可以访问数据网络。
因此,要真正回答您的问题,您首先需要了解语音/数据网络类型,然后您需要考虑wifi,以及它们是否连接到LTE,WiMax,UMTS / HSPA或CDMA。
如果它们仅连接到CDMA,则手机上没有可用的数据网络。但如果他们使用的是CDMA + LTE,CDMA + WiMax,CDMA + WiFi,那么他们就拥有数据。如果是GSM语音网络,那么他们就拥有数据网络。
即使您确定了这一点,您也应该记住,由于某种原因,数据网络可能根本不可用。