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中)
- CONNECTED 已连接
- CONNECTIONG 正在连接
- DISCONNETED 已断开
- DISCONNETING 正在断开
- SUSPENDED 已挂起
- UNKNOW 未知
分享到:
相关推荐
Android网络状态获取
实现android不同系统版本网络变动监听,2G和3G网络已经处理了显示无网络,主要监听无网络,4G,WIFI,以太网
Android网络检测+DialogFragment的使用 详情见: http://blog.csdn.net/hander_wei/article/details/23884001
Android监听网络状态
Android网络状态判断
Android 网络状态监听 QQ
android 判断网络状态
android 检测网络状态 android 检测网络状态
【Android】Android 监听网络状态+源代码
Android系列之如何判断网络链接状态
android判断网络状态、获取网络运营商、网络类型的工具类,并提供打开网络设置界面接口
自己写的网络状态监听,系统会自动提示当前是否有网络,代码中还有个后台服务监听的代码。
android网络监听变化,判断当前是什么网络类型,实时监听。android网络监听变化,判断当前是什么网络类型,实时监听。android网络监听变化,判断当前是什么网络类型,实时监听。android网络监听变化,判断当前是什么...
上篇文章给大家介绍了Android 网络状态实时监听代码实例(一),感兴趣的朋友可以点击了解详情,本文接着给大家介绍android网络状态监听相关知识,具体内容如下所示: 在开发android应用时,涉及到要进行网络访问,...
Android 判断当前网络是否可用简单实例 用户手机当前网络可用:WIFI、2G/3G网络,用户打开与不打开网络,和是否可以用是两码事。可以使用指的是:用户... * 检测当的网络(WLAN、3G/2G)状态 * @param context Contex
android判断网络的状态断开与否.android判断网络的状态断开与否
兼容Android29以下获取网络连接及网络类型的工具。
Android通过使用广播监听网络状态的改变,更多请看我的博客:http://blog.csdn.net/xiayiye5/article/details/79397088
仿QQ微信,Android开发中网络连接状态的判断(判断android设备是否有网络),详细了解请移步http://blog.csdn.net/zxc514257857/article/details/69219113
android 网络连接 网络状态 用于获取当前使用的网络情况