Android判断网络状况和设置网络

前段时间,做一个Demo时需要判断机子的网络连接状况并设置网络,通过查资料找到了解决问题的答案

一、判断网络状况

    private boolean isNetworkAvailable() {
    	//取得系统网络服务
    	ConnectivityManager cm = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
    	//取得网络信息
    	NetworkInfo nk = cm.getActiveNetworkInfo();
		return nk!=null&&nk.isAvailable();
    }


二、设置网络

/**
	 * 设置网络
	 * 如果机子没有网络连接则转入到网络设置界面
	 * 
	 */
	private void networkSet(){
		if(isNetworkAvailable()){
			
			new Thread(){
				public void run() {
				
					try {
						sleep(2000);
					} catch (InterruptedException e) {
						e.printStackTrace();
					}
					Intent intent = new Intent(SplashActivity.this,MainAppActivity.class);
					startActivity(intent);
					finish();
				};
			}.start();
		}else{
			
			AlertDialog.Builder builder = new Builder(SplashActivity.this);
			
			Drawable icon = getResources().getDrawable(R.drawable.dialog_error);
			builder.setIcon(icon);
			builder.setTitle(R.string.network_dialog_title);
			builder.setMessage(R.string.network_dialog_message);
			builder.setPositiveButton(R.string.network_dialog_positiveButton_text, 
					new DialogInterface.OnClickListener(){

						@Override
						public void onClick(DialogInterface dialog, int which) {
							Intent intent = new Intent();
							intent.setClassName("com.android.settings", "com.android.settings.WirelessSettings");
							startActivity(intent);
						}
						
					});
			
			builder.setNegativeButton(R.string.network_dialog_negativeButton_text, 
					new DialogInterface.OnClickListener(){

						@Override
						public void onClick(DialogInterface dialog, int which) {
							finish();
						}
				
					});
			builder.create().show();
			
		}
	}


进入到网络设置Activity是通过PackageName和ClassName,这两项可以通过LogCat处得知(Settings/Wireless&networks)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值