如何检查 Android 设备上的电话网络

发布于 2024-10-30 09:59:51 字数 403 浏览 6 评论 0原文

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

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

如何测试手机网络是否已连接?我需要 TelephonyManager 吗?

谢谢您的宝贵时间。

梅尔

I know how to check if I have internet access (using the code from this post),but is it possible to check if a phone has telephone network access? For example someone might have access to the internet via Wifi but not have phone network access to send SMS or make calls.

In my case, while using a real device (Samsung Galaxy S), I am able to turn of my 3G network (then the phone will detect I am not connected to the internet), but I am still able to make phone calls and send SMS. I guess I must be using some other network...

How do I test whether the phone network is connected? Do I need the TelephonyManager?

Thankyou for your time.

Mel

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

千鲤 2024-11-06 09:59:51

当然你不只是用这个:
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

Sure would you not just use this:
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
简单 2024-11-06 09:59:51

上面的答案对我的应用程序用户之一不起作用 - 他已连接到网络,但他的网络类型未知。屏幕截图: 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(""));      
}

The above answer did not work for one of my app users - he was connected to the Network but his NetworkType was unknown. Screenshot: http://dl.dropbox.com/u/5072192/SC20130317-161413.png

I am instead checking for the NetworkOperator field. (From the first answer here 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(""));      
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文