检查android中的网络数据

时间:2015-05-20 12:46:20

标签: android

通过以下代码,我将能够知道网络连接是否存在

    ConnectivityManager con_manager = (ConnectivityManager) context
            .getSystemService(Context.CONNECTIVITY_SERVICE);
    if (con_manager.getActiveNetworkInfo() != null
            && con_manager.getActiveNetworkInfo().isAvailable()
            && con_manager.getActiveNetworkInfo().isConnected()) {
        return true;
    } else {
        return false;
    }

但我想知道实际的数据包是否有任何帮助,我们非常感激

3 个答案:

答案 0 :(得分:0)

试试这个

public static boolean checkInternetConnection(Context context)
    {
        try
        {
            ConnectivityManager connec = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
            android.net.NetworkInfo wifi = connec.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
            android.net.NetworkInfo mobile = connec.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

            if ((wifi != null && wifi.isConnected())
                    || (mobile != null && mobile.isConnected()))
            {
                return true;
            }
            log("Connection", "Connection failed");
            return false;
        }
        catch (Exception e)
        {
            // TODO: handle exception
            e.printStackTrace();
            return false;
        }
    }

答案 1 :(得分:0)

您使用的方法是告诉您设备已连接到网络但未连接到互联网。 您无法在不联系任何API的情况下知道它是否真正连接到互联网。这意味着您无法确定您的应用是否可以访问您的网络服务,直到你收到了有效的答复。

答案 2 :(得分:0)

我通常使用以下方法检查互联网连接

public static boolean isNetworkAvailable(Context context) {



    try{
    ConnectivityManager connectivityManager 
          = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
    boolean s= activeNetworkInfo != null && activeNetworkInfo.isConnectedOrConnecting();

        return s;
    }
    catch(Exception e){

        System.out.println("exception network"+e);
        return false;
    }
}