无论该网络是否已连接,如何检查用户是否已启用网络?

时间:2011-09-27 01:54:35

标签: android

我想要做的就是查看网络是否实际启用(是否通过设置菜单中的选项进行检查)。我该怎么做呢?

具体来说:

我通过WifiManager获得了Wifi ... ......其他一切都是其他一切的噩梦(特别是移动数据)。

这就是我尝试使用Mobile Data和WiMax的方式:

cm.getNetworkInfo(cm.TYPE_WIMAX).getDetailedState();
cm.getNetworkInfo(cm.TYPE_MOBILE).getDetailedState();

但是当它们被禁用或实际断开时,它们会返回DISCONNECTED。

编辑:我找到了它:http://developer.android.com/reference/android/provider/Settings.System.html

再次编辑:这并不是我想要的......但我会继续搜索!

3 个答案:

答案 0 :(得分:1)

NetworkInfo info = connectivityManager.getActiveNetworkInfo();

boolean isNetworkEnabled = (info == null ? false : true);

答案 1 :(得分:0)

您是否考虑从LocationListener实施这两种方法:onProviderEnabled()onProviderDisabled()

但是,我认为在调用这些方法之前,必须首先使用侦听器调用requestLocationUpdates()

答案 2 :(得分:0)

    public static boolean checkConnection(Context context) {
            ConnectivityManager connMgr = (ConnectivityManager) context
                    .getSystemService(Context.CONNECTIVITY_SERVICE);
            android.net.NetworkInfo wifi = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
            android.net.NetworkInfo mobile = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
            if (wifi.isAvailable() && wifi.isConnected()) {
                status = true;
            }
            if (mobile.isAvailable() && mobile.isConnected()) {
                status = true;
            } else {
                status = false;
            }
return status;
        }