如何判断Android手机当前是否联网

转载 2012年07月22日 21:53:55

如果拟开发一个网络应用的程序,首先考虑是否接入网络,在Android手机中判断是否联网可以通过ConnectivityManager 类的isAvailable()方法判断,首先获取网络通讯类的实例 ConnectivityManager cwjManager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); ,使用cwjManager.getActiveNetworkInfo().isAvailable(); 来返回是否有效,如果为True则表示当前Android手机已经联网,可能是WiFi或GPRS、HSDPA等等,具体的可以通过ConnectivityManager 类的getActiveNetworkInfo() 方法判断详细的接入方式,需要注意的是有关调用需要加入<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> 这个权限,android开发网提醒大家在真机上Market和Browser程序都使用了这个方法,来判断是否继续,同时在一些网络超时的时候也可以检查下网络连接是否存在,以免浪费手机上的电力资源

 

====================================================================================================================================

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

复制代码
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是否打开

  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是否打开

复制代码
 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网络

复制代码
    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就可以建议下载或者在线播放。

复制代码
  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;   
        }
复制代码

 

android判断网络是否可以上网

转载自: http://wohenshuaiba.iteye.com/blog/1097419 方法一:  Java代码   import java.io.Input...
  • Sky_Cat
  • Sky_Cat
  • 2016年11月10日 14:24
  • 1189

Android中判断app是否连接网络

1.在MyApplication extends Application中添加如下代码: //判断网络状态 public boolean isConnectInternet() { ...
  • fuzhongbin
  • fuzhongbin
  • 2015年11月13日 11:27
  • 1623

android 开发中如何判断是否有网络连接

public class IsInternet {          /**       * 判断网络情况       * @param context 上下文       * @retur...
  • wsd7747
  • wsd7747
  • 2017年05月03日 09:40
  • 1207

android 开发中判断网络是否连接的代码

在android的开发中,尤其是与访问网络有关的开发,都要判断一下手机是否连接上了网络,下面是一个判断是否连接网络的嗲吗片段: package cn.com.karl.util; import c...
  • S04103037
  • S04103037
  • 2013年07月31日 00:24
  • 12929

Android判断上网方式(Wifi还是数据流量)

首先要在AndroidManifest.xml加上权限: 判断有无网络连接: ConnectivityManager mConnectivity = (ConnectivityManager)ge...
  • xundh
  • xundh
  • 2015年04月07日 09:40
  • 16648

Android判断app当前是否联网

ConnectivityManager manager;/** * 检测网络是否连接 * @return */ private boolean c...
  • yinyin_yonggao
  • yinyin_yonggao
  • 2015年09月01日 15:33
  • 1534

Android检查是否已经连接到网络

ConnectivityManager con=(ConnectivityManager)getSystemService(Activity.CONNECTIVITY_SERVICE); boolea...
  • kerenigma
  • kerenigma
  • 2012年04月12日 22:52
  • 16213

Android中判断手机是否联网实例

首先在AndroidManifest.xml中添加与连接网络相关的权限:
  • qq_35619188
  • qq_35619188
  • 2017年03月09日 17:22
  • 254

Android是否联网判断

必须加载次权限 uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" 判断是否联网的方法  publ...
  • fangdonghao
  • fangdonghao
  • 2017年09月16日 18:22
  • 82

Android中如何判断是否联网

首先在AndroidManifest.xml中添加与连接网络相关的权限:
  • Sevan7
  • Sevan7
  • 2010年10月14日 13:29
  • 7638
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何判断Android手机当前是否联网
举报原因:
原因补充:

(最多只允许输入30个字)