首页 > 移动平台 > 详细

Android学习笔记之ConnectivityManager+NetWorkInfo

时间:2016-02-19 22:05:19      阅读:337      评论:0      收藏:0      [点我收藏+]

PS:眼看就要开学了,该收收心了.

 

学习内容:

1.ConnecivityManager

2.NetWorkInfo

 

  ConnectivityManger:网络连接管理者,用于管理Android设备的网络连接状况,以前也总是接触,不过那时没有及时做相关的总结,也导致最近在写东西的时候发现了一些问题.

  现如今我们的手机设备已经离不开了网络,我们知道手机设备中,连接网络的最常用的方式无非两种,一种就是我们Mobile中的GPRS蜂窝数据网络,另一种连接方式就是通过Wifi进行网络连接.每一种连接方式在Android内部都有相关的管理.

  首先上一张原理图

技术分享

  图片有点大.不过不耽误,我们通过原理图就能明白其中的道理.想要判断当前网络是否连接,以及当前的网络状态是否可用,则必然需要几个过程和步骤.

  1.首先通过网络连接管理者获取管理对象

ConnectivityManager con = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

   2.通过使用ConnectvitityManager中的相关方法获取网络连接的额外信息

 关于ConnectivityManager的一些常用方法已经在图中指出,其他详细方法请参照API

NetworkInfo networkInfo = connManager.getActiveNetworkInfo();

   然后我们就可以通过相关的额外信息来执行更多的操作了,可以根据网络情况来跳转到不同的操作.至于具体的东西还是看我们的需求.比如说针对不同的网络连接方式跳转到不同的页面..

Context context = listActivity.getApplicationContext();
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);//获取系统的连接服务  
NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();//获取网络的连接情况  
if(activeNetInfo.getType()==ConnectivityManager.TYPE_WIFI){  
    //WIFI网络跳转的页面. 
}else if(activeNetInfo.getType()==ConnectivityManager.TYPE_MOBILE) {  
    //3G网络跳转的页面
}  

  或者是当判断网络没有连接的时候跳转到Android网络设置的页面当中通知用户手动去连接网络.

boolean available = networkInfo.isAvailable();  
if(available){  
   Toast.makeText(getApplicationContext(),"当前网络可用",Toast.LENGTH_LONG).show();
}else{  
   // 跳转到无线网络设置界面  
   startActivity(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS));  
}  

 

Android学习笔记之ConnectivityManager+NetWorkInfo

原文:http://www.cnblogs.com/RGogoing/p/5202199.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!