public static boolean isNetworkAvailable(Context context) {ConnectivityManager connectivity = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);if (connectivity == null) {Log.i("NetWorkState", "Unavailabel");return false;} else {NetworkInfo[] info = connectivity.getAllNetworkInfo();if (info != null) {for (int i = 0; i < info.length; i++) {if (info[i].getState() == NetworkInfo.State.CONNECTED) {Log.i("NetWorkState", "Availabel");return true;}}}}return false;}


上面这个方法就是判断网络是否连接的代码,返回true表示有网络,返回false表示无网络。 在Android网络应用程序开发中,经常要判断网络连接是否可用,因此经常有必要监听网络状态的变化。android的网络状态监听可以用BroadcastReceiver来接收网络状态改变的广 播,具体实现如下:

@Overridepublic void onReceive(Context context, Intent intent) {Log.e(TAG, "网络状态改变");boolean success = false;//获得网络连接服务ConnectivityManager connManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);// State state = connManager.getActiveNetworkInfo().getState();State state = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState(); // 获取网络连接状态if (State.CONNECTED == state) { // 判断是否正在使用WIFI网络success = true;}state = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState(); // 获取网络连接状态if (State.CONNECTED != state) { // 判断是否正在使用GPRS网络success = true;}if (!success) {Toast.makeText(LocationMapActivity.this, "您的网络连接已中断", Toast.LENGTH_LONG).show();} }

在Activity的onCreate中:
//注册网络监听IntentFilter filter = new IntentFilter(); filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);registerReceiver(mNetworkStateReceiver, filter);//在Activity中的onDestroy中:'unregisterReceiver(mNetworkStateReceiver); //取消监听



原文链接: http://blog.csdn.net/wangkuifeng0118/article/details/7333319

更多相关文章

  1. Android与服务器http连接模块代码
  2. android工具类(2)NetWorkHelper 网络工具类
  3. android学习之wifimanager
  4. Android主流框架学习之旅
  5. Android(安卓)AndroidStudio环境下控制状态栏颜色
  6. Android(安卓)WebView请求,保存cookie,判断登录状态
  7. radioButton 使用
  8. android 下的内存状态获取
  9. ExpandableListView的小图标有个状态

随机推荐

  1. 介绍备份和还原MySQL数据的两种方法
  2. 调整SQLServer2000运行中数据库结构
  3. Select count(*)、Count(1)和Count(列)的
  4. SQL Server中将数据导出为XML和Json方法
  5. SQL Server中将查询结果转换为Json格式脚
  6. Sql Server中的DBCC命令详细介绍
  7. Sql Server中的非聚集索引详细介
  8. 理解Sql Server中的聚集索引
  9. 深入理解Sql Server中的表扫描
  10. Sql Server中的系统视图详细介绍