首先上一张原理图
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)); }