zoukankan      html  css  js  c++  java
  • Android 网络访问

    Android 类 : NetworkInfo

    描述了当前网络 Mobile和Wifi的状态。

    2个内部类 NetworkInfo.DetailedState(精确的网络状态) NetworInfo.State(粗略的网路状态)

    NetworkInfo.DetailedState 枚举值有:

    IDLE : 准备好开始数据连接设置
    SCANNING :寻找一个可用的访问点。
    CONNECTING :当前设置数据连接
    AUTHENTICATING :网络链路建立,执行身份验证
    OBTAINING_IPADDR :等待响应从DHCP服务器为了分配IP地址信息。
    CONNECTED :IP流量应该可用
    SUSPENDED :IP流量悬浮
    DISCONNECTING : 当前拆除数据连接
    DISCONNECTED :  IP流量。
    FAILED :尝试连接失败。
    BLOCKED :访问这个网络阻塞。

    NetworInfo.State 枚举有:

               CONNECTING

                CONNECTED

                SUSPENDED 

                DISCONNECTING 

                DISCONNECTED,

                UNKNOWN

    isConnectedOrConnecting():显示网络连接是否存在或过程被建立。这是适合应用程序的需要做任何相关的网络读写数据。

    isConnected():显示网络连接是否存在,可以建立连接和传递数据。

    isAvailable():显示网络连接是否可能。网络不可用当一个持久或semi-persistent条件阻止了可能性网络的连接。例子包括设备的这种类型的网络的覆盖范围。设备在家庭网络(即以外的一个网络。、漫游)数据漫游已禁用。设备的无线电是关闭的。,因为飞机模式启用。

    isFailover():表明当前是否试图连接到网络ConnectivityManager试图引起故障转移网络断开后另一个网络。

    isRoaming():

    显示当前设备是否在这个网络漫游。{ @code真正}时,表明使用该网络的数据*可能招致额外费用。

     ConnectivityManager connectMgr = (ConnectivityManager) this
            .getSystemService(Context.CONNECTIVITY_SERVICE);
     
     NetworkInfo info = connectMgr.getActiveNetworkInfo();
     
    一、判断网络是否是wifi,在判断之前一定要进行的非空判断,如果没有任何网络
    连接info ==null
    info.getType() == ConnectivityManager.TYPE_WIFI
     
    二、判断是否是手机网络
    info !=null && info.getType() ==  ConnectivityManager.TYPE_MOBILE
     
    手机网络进行详细区分:
     
    info.getSubtype() 这里使用 getSubtype(),不是 getType(),getType()返回的
    是0,或者1,是区分是手机网络还是wifi
     
    info.getSubtype()取值列表如下:
     
             * NETWORK_TYPE_CDMA 网络类型为CDMA
             * NETWORK_TYPE_EDGE 网络类型为EDGE
             * NETWORK_TYPE_EVDO_0 网络类型为EVDO0
             * NETWORK_TYPE_EVDO_A 网络类型为EVDOA
             * NETWORK_TYPE_GPRS 网络类型为GPRS
             * NETWORK_TYPE_HSDPA 网络类型为HSDPA
             * NETWORK_TYPE_HSPA 网络类型为HSPA
             * NETWORK_TYPE_HSUPA 网络类型为HSUPA
             * NETWORK_TYPE_UMTS 网络类型为UMTS
     
    联通的3G为UMTS或HSDPA,移动和联通的2G为GPRS或EDGE,电信的2G为CDMA,电信的3G为EVDO
     getExtraInfo():报告额外的网络状态信息,如果有的话提供的较低的网络层。如果一个是可用的。
  • 相关阅读:
    flask数据库操作
    flask之--钩子,异常,上下文,flask-script,模板,过滤器,csrf_token
    Flask项目出现html文件无法自动补全
    pandas强化练习(美国交警开放的数据)
    flask初识
    爬取实时变化的 WebSocket 数据(转载)
    pep8规范
    模拟登陆
    关于在scrapy中使用xpath
    Java基础/利用fastjson序列化对象为JSON
  • 原文地址:https://www.cnblogs.com/houxin/p/3713266.html
Copyright © 2011-2022 走看看