首先,要想获得当前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。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。