【问题标题】:Network type unknown on Android Nexus 7 tabletAndroid Nexus 7 平板电脑上的网络类型未知
【发布时间】:2013-08-08 07:39:27
【问题描述】:
我做了一个简单的应用程序,显示设备上当前的网络类型。我有 Nexus 7 英寸平板电脑,显示的值是未知。我知道 Nexus 7 不是 GSM 设备,即它不需要 SIM 卡即可操作。但是我从 wifi 路由器获得互联网,这意味着必须有一个网络类型。
为什么它给了我未知的价值?
我很好地检查了我的代码,所以它不会是一个错误,因为在模拟的 Nexus 7 上提供了 UTMS 类型。我使用this page 作为参考。
【问题讨论】:
标签:
android
android-networking
telephonymanager
sim-card
【解决方案1】:
TelephonyManager 仅用于检查蜂窝连接。您的设备没有使用任何设备(因为它没有 SIM 卡),因此返回值未知。
如果您想检查 WiFi 连接:
ConnectivityManager connManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo info = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (info != null && info.isConnected()) {
// device is using WiFi connection
}
或者,放弃 TelephonyManager 并专门使用 ConnectionManager:
NetworkInfo info = connManager.getActiveNetworkInfo();
if (info != null && info.isConnected()) {
// device is using some connection
}
以上代码将检查任何类型的连接,无论是 WiFi 还是蜂窝网络。