手机开发时会涉及到一些需要网络或wifi的操作,有时需要了解情况在进行下一步的操作,如没有网络则用本地缓存,没有wifi则不进行大流量操作(更新APP等)。
这里我就说一下我在开发时用到的相关代码。
1、检查网络(手机本身网络和wifi)是否可用
public static boolean isNetAvailable(Context context) {
ConnectivityManager manager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkinfo = manager.getActiveNetworkInfo();
if (networkinfo == null || !networkinfo.isAvailable()) {
return false;
}
return true;
}
2、检查wifi是否可用
public static boolean isWifiAvailable(Context context) {
ConnectivityManager manager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkinfo = manager.getActiveNetworkInfo();
if (networkinfo == null || !networkinfo.isAvailable() || !networkinfo.getTypeName().equals("WIFI")) {
return false;
}
return true;
}
3、检查wifi是否启用(即wifi开启了,对于是否有可用网络没有帮助)
public static boolean isWifiEnable(Context context) {
WifiManager manager = (WifiManager) context
.getSystemService(Context.WIFI_SERVICE);
if (manager == null || !manager.isWifiEnabled()) {
return false;
}
return true;
} 第三个判断可能用到的情况少,1、2两种就经常用到了。好了,希望对大家有所帮助。