android检测网络是否正常

按照惯例,先上图后代码
android检测网络是否正常


android检测网络是否正常
在实际开发中,尤其是在网络应用开发中,时常要判断网络是否处在联网状态,以及给用户友好的提示,由于需要在每个界面中有需要对其进行检测,所以我们把它封转成一个方法,让每个activity公用。

首先是工具类
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;

public class CheckHttpUtil {
	
	public static boolean isNetworkAvailable(Activity mActivity){
		Context context = mActivity.getApplicationContext();
		
		ConnectivityManager connectivity = (ConnectivityManager)context.getSystemService(
				Context.CONNECTIVITY_SERVICE);
		
		if(connectivity == null){
			return false;
		}else {
			NetworkInfo[] info = connectivity.getAllNetworkInfo();
			if(info != null ){
				for(int i=0; i<info.length; i++){
					if(info[i].getState() == NetworkInfo.State.CONNECTED){
						return true;
					}
				}
			}
		}
		return false;
	}
	
	public static void checkhttp(final Activity activity){
		if(!isNetworkAvailable(activity)){
			AlertDialog.Builder builder = new AlertDialog.Builder(activity);
			builder.setTitle("网络错误,请检查网络设置");
			builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
				
				@Override
				public void onClick(DialogInterface dialog, int which) {
				   Intent intent = new Intent("android.settings.WIRELESS_SETTINGS");
		           activity.startActivity(intent);
		           activity.finish();
				}
			});
			builder.show();
		}
	}
}


注意需要添加权限<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>

你可能感兴趣的:(android)