首页 > 代码库 > Android检测网络是否可用并获取网络类型
Android检测网络是否可用并获取网络类型
在类中使用getSystemService的时候需要这样进行使用:1.
public class JajaMenu extends Activity { public static JajaMenu instance; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.init(); instance=this; } //获取实例 public static JajaMenu getInstance(){ return instance; }}
2.调用
public static final int NETTYPE_WIFI = 0x01;public static final int NETTYPE_CMWAP = 0x02;public static final int NETTYPE_CMNET = 0x03;
/** * 检测网络是否可用 * @return */ public boolean isNetworkConnected(){ ConnectivityManager cm=(ConnectivityManager)JajaMenu.getInstance().getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo=cm.getActiveNetworkInfo(); return networkInfo !=null && networkInfo.isConnectedOrConnecting(); } /** * 获取网络类型 * @return 0:没有网络 1:WIFI网络 2:WAP网络 3:NET网络 * */ public int getNetworkType(){ int netType=0; ConnectivityManager cm=(ConnectivityManager)JajaMenu.getInstance().getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo=cm.getActiveNetworkInfo(); if(networkInfo == null){ return netType; } int nType=networkInfo.getType(); if(nType ==ConnectivityManager.TYPE_MOBILE){ String extraInfo=networkInfo.getExtraInfo(); if(!extraInfo.isEmpty()){ String strInfo=extraInfo.toLowerCase(); if(strInfo.equals("cmnet")){ netType=NETTYPE_CMNET; } else{ netType=NETTYPE_CMWAP; } } } else if(nType ==ConnectivityManager.TYPE_WIFI){ netType=NETTYPE_WIFI; } return netType; }
Android检测网络是否可用并获取网络类型
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。