android取得当前网络连接状态

package com.util;

import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.NetworkInfo.State;
import android.provider.Settings;

public class InternetCheck {
	
	public static void checkInternet(final Context context){
		if(!isInternetAvilibal(context)){
			AlertDialog.Builder alert=new AlertDialog.Builder(context);
			alert.setMessage("抱歉网络连接错误,请重试")
				.setPositiveButton("确定", new OnClickListener() {
					
					public void onClick(DialogInterface dialog, int which) {
						//使用provide打开连接
						context.startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
					}
				})
				.setNegativeButton("取消", new OnClickListener() {
					
					public void onClick(DialogInterface dialog, int which) {
						dialog.dismiss();
					}
				});
			alert.show();
		}
	}

	public static boolean isInternetAvilibal(Context context){
		ConnectivityManager cmanager=(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
		if(cmanager==null){
			return false;
		}else{
			NetworkInfo[] infos=cmanager.getAllNetworkInfo();
			if(infos!=null){
				for(NetworkInfo info:infos){
					if(info.getState()==State.CONNECTED){
						return true;
					}
				}
			}
		}
		return false;
	}
}
 

你可能感兴趣的:(android)