天天看点

Android 之检测手机网络是否可用

手机网络是否可用:这只是一个小demo,平时开发的过程中,用到的其实也是比较多的,比如:有一些新闻客户端当你乜有网络的时候,图片变不能查看,或者我们常用的QQ,当你没有网络的时候,变会在你的头部给你一个提示:世界上最远的距离就是没有网络,请检查设置

所以,检测网络这个功能其实用到的也是听过的,也是一个简单的小功能

1.效果图:

网络开启的情况下,网络可用:

Android 之检测手机网络是否可用

关闭网络的时候:

Android 之检测手机网络是否可用

2.实例源码

1.添加权限:

 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 检查网络的权限 -->

package com.zengtao.classwork;

import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends ActionBarActivity {
	private Button bt_checknetwork;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		bt_checknetwork = (Button) findViewById(R.id.bt_checknetwork);

		bt_checknetwork.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				// 1.获取系统服务
				ConnectivityManager cm = (ConnectivityManager) MainActivity.this
						.getSystemService(Context.CONNECTIVITY_SERVICE);
				// 2.获取net信息
				NetworkInfo info = cm.getActiveNetworkInfo();
				// 3.判断网络是否可用
				if (info != null && info.isConnected()) {
					Toast.makeText(MainActivity.this, "网络可用",
							Toast.LENGTH_SHORT).show();
				} else {
					Toast.makeText(MainActivity.this, "网络当前不可用,请检查设置!",
							Toast.LENGTH_SHORT).show();
				}
			}
		});
	}
}
           

3.解析

1.以上的部分检测一些情况,比如:手机是否飞行模式,手机网络数据是否关闭,手机是否在wifi情况下等等

2.这些也自己做的小demo玩玩,希望对于大家移植项目有用