版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/HandsomeFuHS/article/details/60580126
需要权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
public class NetworkStateUtil {
public static boolean isNetworkAvailable() {
//判断网络是否可用 和是否连接是两码事
ConnectivityManager cm = (ConnectivityManager) MyApplication.getContext()
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (cm == null) {
return false;
} else {
//如果仅仅是用来判断网络连接
//则可以使用 cm.getActiveNetworkInfo().isAvailable();
NetworkInfo info = cm.getActiveNetworkInfo();
if (info == null)
return false;
if (info.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);
}
//判断是否是移动网络
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
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;
}
}