package lizhen.network;import android.content.Context;import android.net.ConnectivityManager;import android.net.NetworkInfo.State;public class NetworkState {private Context context;private ConnectivityManager connectivityManager; //網絡連接管理private State mobile; //移動網絡狀態private State wifi; //WIFI網絡狀態public NetworkState(Context context) {this.context = context;init();}/** * 初始化 * */private void init() {connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);}/** * 當前網絡是否已連接 * @return true 網絡已連接<br />false 其它 * */public boolean isConnected() {boolean result = false;mobile = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();wifi = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();result = (mobile == State.CONNECTED || wifi == State.CONNECTED);return result;}/** * 當前網絡是否正在連接 * @return true 網絡正在連接<br />false 其它 * */public boolean isConnecting() {boolean result = false;mobile = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();wifi = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();result = (mobile == State.CONNECTING || wifi == State.CONNECTING);return result;}}

通过调用Context的方法getSystemService(Context.CONNECTIVITY_SERVICE)可以返回ConnectivityManager实例,使用ConnectivityManager,我们可以获取当前网络的状态。

以上代码作为示例,检查当前网络(包括移动网络和WIFI网络)是否已连接或是否正在连接。

注:网络状态有如下6种(定义在NetworkInfo.State中)

  1. CONNECTED 已连接
  2. CONNECTIONG 正在连接
  3. DISCONNETED 已断开
  4. DISCONNETING 正在断开
  5. SUSPENDED 已挂起
  6. UNKNOW 未知

更多相关文章

  1. android NetWorkHelper 网络工具类
  2. android取得当前网络连接状态
  3. android判断是否连接网络
  4. Android(安卓)网络操作(上传下载等)
  5. Android之常用功能代码
  6. 【android】监听网络变化连续多个广播的问题解决
  7. Android开发学习笔记整理(16)-网络请求
  8. Android(安卓)OkHttp 源码解析 - 拦截器
  9. android 网络检测

随机推荐

  1. [Android6.0]App中调用init.rc中的服务,从
  2. Android使用transaction.addToBackStack(
  3. Android(安卓)Web App官方文档翻译第三章
  4. 与android的初次会面
  5. Android中一些实用的Tips
  6. Ubuntu系统连接Android真机测试
  7. 跟我学android-常用控件之 TextView
  8. 解决Android创建AVD失败
  9. Android(安卓)5.0之后禁止用隐式Intent启
  10. Android面试题算法篇