android 开发中判断网络是否连接的代码

在android的开发中,尤其是与访问网络有关的开发,都要判断一下手机是否连接上了网络,下面是一个判断是否连接网络的代码片段:

package cn.jinbi.NetWork;

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;
import android.provider.Settings;
import android.widget.TextView;
import cn.jinbi.base.R;


public class IsInternet {
	public static boolean isNetworkAvalible(Context context){
		//获得网络状态管理器
		ConnectivityManager connectivityManager = (ConnectivityManager)context
				.getSystemService(Context.CONNECTIVITY_SERVICE);
		if (connectivityManager == null){
			return false;
		}else{
			//建立网络数组
			NetworkInfo[] net_info = connectivityManager.getAllNetworkInfo();
			
			if (net_info != null){
				for (int i = 0;i < net_info.length;i++){
					//判断获得的网络状态是否是处于连接状态
					if (net_info[i].getState() == NetworkInfo.State.CONNECTED){
						return true;
					}
				}
			}
		}
		return false;
	}
	//如果没有网络,则弹出网络设置对话框
	public static void checkNetwork(final Activity activity){
		if (!IsInternet.isNetworkAvalible(activity)){
			TextView msg = new TextView(activity);
			msg.setText("当前没有可以使用的网络,请设置网络!");
			new AlertDialog.Builder(activity)
						   .setIcon(R.drawable.ic_launcher)
						   .setTitle("网络状态提示")
						   .setView(msg)
						   .setPositiveButton("确定", 
								   new DialogInterface.OnClickListener() {
									
									@Override
									public void onClick(DialogInterface dialog, 
											int whichButton) {
										activity.startActivityForResult(new Intent(
												Settings.ACTION_WIRELESS_SETTINGS),
												0);
									}
								}).create().show();
		}
	}
}

最后要加上权限管理代码:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 

你可能感兴趣的:(Android开发,网络判断)