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的更多相关文章

  1. Android 学习笔记之Volley(七)实现Json数据加载和解析...

    学习内容: 1.使用Volley实现异步加载Json数据...   Volley的第二大请求就是通过发送请求异步实现Json数据信息的加载,加载Json数据有两种方式,一种是通过获取Json对象,然后 ...

  2. Android学习笔记进阶之在图片上涂鸦(能清屏)

    Android学习笔记进阶之在图片上涂鸦(能清屏) 2013-11-19 10:52 117人阅读 评论(0) 收藏 举报 HandWritingActivity.java package xiaos ...

  3. android学习笔记36——使用原始XML文件

    XML文件 android中使用XML文件,需要开发者手动创建res/xml文件夹. 实例如下: book.xml==> <?xml version="1.0" enc ...

  4. Android学习笔记之JSON数据解析

    转载:Android学习笔记44:JSON数据解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种 ...

  5. udacity android 学习笔记: lesson 4 part b

    udacity android 学习笔记: lesson 4 part b 作者:干货店打杂的 /titer1 /Archimedes 出处:https://code.csdn.net/titer1 ...

  6. Android学习笔记36:使用SQLite方式存储数据

    在Android中一共提供了5种数据存储方式,分别为: (1)Files:通过FileInputStream和FileOutputStream对文件进行操作.具体使用方法可以参阅博文<Andro ...

  7. Android学习笔记之Activity详解

    1 理解Activity Activity就是一个包含应用程序界面的窗口,是Android四大组件之一.一个应用程序可以包含零个或多个Activity.一个Activity的生命周期是指从屏幕上显示那 ...

  8. Pro Android学习笔记 ActionBar(1):Home图标区

     Pro Android学习笔记(四八):ActionBar(1):Home图标区 2013年03月10日 ⁄ 综合 ⁄ 共 3256字 ⁄ 字号 小 中 大 ⁄ 评论关闭 ActionBar在A ...

  9. 【转】Pro Android学习笔记(九八):BroadcastReceiver(2):接收器触发通知

    文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.sina.com.cn/flowingflying或作者@恺风Wei-傻瓜与非傻瓜 广播接 ...

随机推荐

  1. VAG DMA protocol

    Func 0a - RAM Read 0A Func 0a - ROM Read 0A Func 0a - EEPROM Read FD Func 0C xx - EEPROM Write 0A Fu ...

  2. Python中的字典排序

    我想将 b = {'a':234,'b':1,'c':2,'e':2387} 分别按照key和value进行排序,该怎样办呢? Python中比较常用的排序有两个函数, 一.定义 (1)一个是List ...

  3. Linux--Ubuntu中文文件夹转英文

    前言 在安装Ubuntu的时候,如果选择的系统语言为汉语,安装完成后,Ubuntu系统的主文件夹下的几个文件目录就是中文的,这样才纯终端下,输入起来确实非常的不方便.当然,如果安装Ubuntu的时候, ...

  4. zookeeper节点Watch机制实例展示

    znode以某种方式发生变化时,“观察”(watch)机制可以让客户端得到通知.可以针对ZooKeeper服务的“操作”来设置观察,该服务的其他 操作可以触发观察. 实现Watcher,复写proce ...

  5. Codeforces Round #384 (Div. 2) C. Vladik and fractions 构造题

    C. Vladik and fractions 题目链接 http://codeforces.com/contest/743/problem/C 题面 Vladik and Chloe decided ...

  6. [GraphQL] Serve a GraphQL Schema as Middleware in Express

    If we have a GraphQL Schema expressed in terms of JavaScript, then we have a convenient package avai ...

  7. Hadoop2.x源码-编译剖析

    1.概述 最近,有小伙伴涉及到源码编译.然而,在编译期间也是遇到各种坑,在求助于搜索引擎,技术博客,也是难以解决自身所遇到的问题.笔者在被询问多次的情况下,今天打算为大家来写一篇文章来剖析下编译的细节 ...

  8. A20(Cubieboard2)启动过程浅析

    A20支持从NAND Flash.SPI NOR Flash.SD card(SDC 0/2)和USB启动.当系统上电时,首先检测Boot Select Pin(BSP)管脚,如果为低电平,则直接从U ...

  9. 【笔记】《DirectX 9.0 3D游戏开发编程基础》:Direct3D初始化

    Direct3D初始化大概分为4个步骤: 1.获取接口IDirect3D9的指针.(Direct3DCreate9函数调用). 该接口用户获取系统中物理硬件设备的信息并创建接口IDirect3DDev ...

  10. STM32 SPI DMA 的使用

    一是想总结一下SPI总线的特点与注意点,二是总结一下SPI DMA的使用 一.SPI信号线说明 通常SPI通过4个引脚与外部器件相连: MISO:主设备输入/从设备输出引脚.该引脚在从模式下发送数据, ...