首先,要想获得当前android设备是否处于联网状态,那么android本身给我们提供了一个服务。
- private ConnectivityManager connectivityManager;//用于判断是否有网络
 - connectivityManager = (ConnectivityManager) getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);//获取当前网络的连接服务
 - NetworkInfo info = connectivityManager.getActiveNetworkInfo(); //获取活动的网络连接信息
 
首先我们得先拿到android的网络服务,需要往配置文件里面加入一个权限。
- <!-- 获取用户的手机是否联网的信息 -->
 - uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
 
然后我们通过Context.getSystemService(Context.CONNECTIVITY_SERVICE)拿到系统的服务。
然后我们用android提供给我们的这个NetworkInfo类去盛放系统返回给我们网络服务信息。
- if (info == null) { //当前没有已激活的网络连接(表示用户关闭了数据流量服务,也没有开启WiFi等别的数据服务)
 - Toast.makeText(getActivity(), "检查网络连接是否打开", Toast.LENGTH_SHORT).show();
 - } else { //当前有已激活的网络连接
 - }
 
当然,我们也可以用这局代码来判断我们的网络连接是否可用。
- // 来返回是否有效,如果为True则表示当前Android手机已经联网,可能是WiFi或GPRS、HSDPA等等。具体的可以通过ConnectivityManager 类的getActiveNetworkInfo() 方法判断详细的接入方式
 - connectivityManager.getActiveNetworkInfo().isAvailable();
 
当然,开发完APP也是需要进行全方位的检测:http://www.ineice.com。

发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。