2

我知道如何检查我是否可以访问互联网(使用这篇文章中的代码),但是是否可以检查电话是否可以访问电话网络?例如,某人可能可以通过 Wifi 访问互联网,但没有电话网络访问权限来发送 SMS 或拨打电话。

就我而言,在使用真实设备(Samsung Galaxy S)时,我可以关闭我的 3G 网络(然后手机会检测到我没有连接到互联网),但我仍然可以拨打电话和发送短信。我想我一定是在使用其他网络...

如何测试电话网络是否连接?我需要 TelephonyManager 吗?

感谢您的时间。

梅尔

4

2 回答 2

3

你肯定不会只使用这个: getNetworkType()

boolean hasNetwork = android.telephony.TelephonyManager.getNetworkType() != android.telephony.TelephonyManager.NETWORK_TYPE_UNKNOWN; 
// True if the phone is connected to some type of network i.e. has signal
于 2011-04-03T13:03:48.047 回答
2

上述答案不适用于我的一位应用程序用户 - 他已连接到网络,但他的 NetworkType 未知。截图:http ://dl.dropbox.com/u/5072192/SC20130317-161413.png

我正在检查 NetworkOperator 字段。(从这里的第一个答案检查可用移动网络的正确方法是什么(无数据连接)

public static boolean isMobileAvailable(Context acontext) {       
    TelephonyManager tel = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);       
    return (tel.getNetworkOperator() != null && !tel.getNetworkOperator().equals(""));      
}
于 2013-03-17T08:35:18.807 回答