实习日志(16):检查Android网络连接状态

    在软件自测过程中我发现如果没有打开手机网络,系统会异常关闭,所以就想到有必要在用户登录之前判断手机的网络连接状态。如果用户打开了网络连接,则可以正常登录;反之,登录和注册按钮不可用,并弹出“打开网络”的提示消息。

实现步骤如下:

1、  首先在AndroidManifest.xml文件中加入相应权限

    <!-- 允许网络访问 -->
    <uses-permission android:name="android.permission.INTERNET" />
    <!-- 允许检查网络状态 -->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

2、  创建一个新的类,名为ConnectDirect.java

public class ConnectDirect {
	private Context _context;
	public ConnectDirect(Context context) {
		this._context = context;
	}
	public boolean isConnectingToInternet() {
		ConnectivityManager connectivity = (ConnectivityManager) _context
				.getSystemService(Context.CONNECTIVITY_SERVICE);
		if (connectivity != null) {
			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;
	}
}

3、  当需要在应用中检查网络状态时调用isConnectingToInternet()函数,它会返回true或false。

//判断网络连接
        ConnectDirect cd = new ConnectDirect(getApplicationContext());      
        Boolean isInternetPresent = cd.isConnectingToInternet(); // true or false
        if(isInternetPresent!=true){
        	loginBtn.setEnabled(false);
        	zhuceBtn.setEnabled(false);
        	Toast.makeText(getApplicationContext(),"未检测到网络,请打开网络连接!",1).show();
        }

4、  根据第3步返回的结果判断即可。

 

运行效果如图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值