首页 > 解决方案 > 如何检查移动数据和WIFI是否已连接?

问题描述

我有这个代码:

ConnectivityManager connMgr = (ConnectivityManager)
  context.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo networkInfoWifi =
  connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

NetworkInfo networkInfoMobileData =
  connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

然后在我的 Android 网络设置中,移动数据和 WiFi 都已启用。以下检查是

networkInfoWifi.isConnected();       // results to TRUE
networkInfoMobileData.isConnected(); // results to FALSE

我的应用程序在 Android Lollipop 上运行。我希望上面的两个检查都应该返回 TRUE。为什么会这样?我需要它们都是真实的。我应该怎么办?

标签: androidandroid-5.1.1-lollipop

解决方案


我从来没有找到一种方法来使networkInfoWifi.isConnected()networkInfoMobileData.isConnected()返回两者都为真。这可能是因为Android一次只能连接一个接口。

此界面选择也是由 Android 自动启动 Lollipop 设备完成的。Wi-Fi无法上网时Android Lollipop默认使用Mobile Data?


推荐阅读