我知道如何检查我是否可以访问互联网(using the code from this post),,但是可以检查手机是否有电话网络访问权限吗?例如,有人可能通过Wifi访问互联网,但没有电话网络访问权来发送短信或拨打电话。
在我的情况下,在使用真实设备(三星Galaxy S)时,我可以打开我的3G网络(然后手机会检测到我没有连接到互联网),但我仍然可以打电话打电话和发短信。我想我必须使用其他网络...
如何测试电话网络是否已连接?我需要TelephonyManager吗?
谢谢你的时间。
梅尔
答案 0 :(得分: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
答案 1 :(得分:1)
上述答案对我的某个应用用户无效 - 他已连接到网络,但他的NetworkType未知。屏幕截图:http://dl.dropbox.com/u/5072192/SC20130317-161413.png
我正在检查NetworkOperator字段。 (从这里的第一个答案What is the correct way of checking for mobile network available (no data connection))
public static boolean isMobileAvailable(Context acontext) {
TelephonyManager tel = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
return (tel.getNetworkOperator() != null && !tel.getNetworkOperator().equals(""));
}