您的位置:首页 > 理论基础 > 计算机网络

判断Android设备是否连接网络

2013-05-21 09:26 441 查看
[java] view
plaincopy

/** 

  * 判断Android客户端网络是否连接  

  * @param context 

  * @return 真假 

  */public static boolean checkNet(Context context) {     

             

        try {     

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

            if (connectivity != null) {     

                 

                NetworkInfo info = connectivity.getActiveNetworkInfo();     

                if (info != null && info.isConnected()) {     

                     

                    if (info.getState() == NetworkInfo.State.CONNECTED) {     

                        return true;     

                    }     

                }     

            }     

        } catch (Exception e) {     

        return false;     

}     

        return false;     

    }    

以上代码只能判断是否有可用的连接,而不能判断是否能连网

 

[java] view
plaincopy

* 检验网络连接 并toast提示  

*   

* @return  

*/  

public boolean note_Intent(Context context) {  

    ConnectivityManager con = (ConnectivityManager) context  

        .getSystemService(Context.CONNECTIVITY_SERVICE);  

    NetworkInfo networkinfo = con.getActiveNetworkInfo();  

    if (networkinfo == null || !networkinfo.isAvailable()) {  

    // 当前网络不可用  

        Toast.makeText(context.getApplicationContext(), "请先连接Internet!",  

        Toast.LENGTH_SHORT).show();  

        return false;  

    }  

    boolean wifi = con.getNetworkInfo(ConnectivityManager.TYPE_WIFI)  

        .isConnectedOrConnecting();  

    if (!wifi) { // 提示使用wifi  

        Toast.makeText(context.getApplicationContext(), "建议您使用WIFI以减少流量!",  

        Toast.LENGTH_SHORT).show();  

    }  

    return true;  

  

}  

以上转自:http://www.iteye.com/topic/1117733

 

android中判断网络连接是否可用

http://www.cnblogs.com/codeworker/archive/2012/04/23/2467180.html

一、判断网络连接是否可用

[java] view
plaincopy

public static boolean isNetworkAvailable(Context context) {     

        ConnectivityManager cm = (ConnectivityManager) context     

                .getSystemService(Context.CONNECTIVITY_SERVICE);     

        if (cm == null) {     

        } else {  

       //如果仅仅是用来判断网络连接  

        //则可以使用 cm.getActiveNetworkInfo().isAvailable();    

            NetworkInfo[] info = cm.getAllNetworkInfo();     

            if (info != null) {     

                for (int i = 0; i < info.length; i++) {     

                    if (info[i].getState() == NetworkInfo.State.CONNECTED) {     

                        return true;     

                    }     

                }     

            }     

        }     

        return false;     

    }   

二、判断GPS是否打开

[java] view
plaincopy

public static boolean isGpsEnabled(Context context) {     

        LocationManager lm = ((LocationManager) context     

                .getSystemService(Context.LOCATION_SERVICE));     

        List<String> accessibleProviders = lm.getProviders(true);     

        return accessibleProviders != null && accessibleProviders.size() > 0;     

    }   

三、判断WIFI是否打开

[java] view
plaincopy

public static boolean isWifiEnabled(Context context) {     

        ConnectivityManager mgrConn = (ConnectivityManager) context     

                .getSystemService(Context.CONNECTIVITY_SERVICE);     

        TelephonyManager mgrTel = (TelephonyManager) context     

                .getSystemService(Context.TELEPHONY_SERVICE);     

        return ((mgrConn.getActiveNetworkInfo() != null && mgrConn     

                .getActiveNetworkInfo().getState() == NetworkInfo.State.CONNECTED) || mgrTel     

                .getNetworkType() == TelephonyManager.NETWORK_TYPE_UMTS);     

    }  

 四、判断是否是3G网络

[java] view
plaincopy

public static boolean is3rd(Context context) {     

        ConnectivityManager cm = (ConnectivityManager) context     

                .getSystemService(Context.CONNECTIVITY_SERVICE);     

        NetworkInfo networkINfo = cm.getActiveNetworkInfo();     

        if (networkINfo != null     

                && networkINfo.getType() == ConnectivityManager.TYPE_MOBILE) {     

            return true;     

        }     

        return false;     

    }    

五、判断是wifi还是3g网络,用户的体现性在这里了,wifi就可以建议下载或者在线播放。

[java] view
plaincopy

public static boolean isWifi(Context context) {     

            ConnectivityManager cm = (ConnectivityManager) context     

                    .getSystemService(Context.CONNECTIVITY_SERVICE);     

            NetworkInfo networkINfo = cm.getActiveNetworkInfo();     

            if (networkINfo != null     

                    && networkINfo.getType() == ConnectivityManager.TYPE_WIFI) {     

                return true;     

            }     

            return false;     

        }    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: