欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android开发之获取网络链接状态

程序员文章站 2022-08-17 20:25:46
网络开发是android程序设计一个非常重要的内容,今天本文就和大家一起分享一下android网络开发的一点经验。 本文主要通过实例形式说明了android获取网络链接状...

网络开发是android程序设计一个非常重要的内容,今天本文就和大家一起分享一下android网络开发的一点经验。

本文主要通过实例形式说明了android获取网络链接状态的方法。具体内容如下:

就目前的android手机来说,可能存在如下5种网络状态:

    ----无网络(这种状态可能是因为手机停机,网络没有开启,信号不好等原因)

    ----使用wifi上网

    ----cmwap(中国移动代理)

    ----cmnet上网

    ----2g/3g/4g上网

很多时候我们需要判断用户是否开启网络设置,通常通过connectivitymanager类来判断网络连接是否存在。

获取网络状态:

那到底如何使用这个类呢?如何和用户进行交互呢?具体示例如下:

public class mainactivity extends activity {
  @override
  protected void oncreate(bundle savedinstancestate) {
    super.oncreate(savedinstancestate);
    setcontentview(r.layout.activity_main);
    connectivitymanager nw = (connectivitymanager)this.getsystemservice(context.connectivity_service);
    networkinfo netinfo = nw.getactivenetworkinfo();
    toast.maketext(mainactivity.this, "当前网络"+add(netinfo.isavailable())+","+"网络"+app(netinfo.isconnected())+","+"网络连接"+adp(netinfo.isconnected()), toast.length_long).show();//给用户提示网络状态
  }
  string add(boolean bl){
    string s = "不可用";
    if(bl==true){
      s="可用";
    }
    return s;
  }
  string app(boolean bl){
    string s = "未连接";
    if(bl==true){
      s="已连接";
    }
    return s;
  }
  string adp(boolean bl){
    string s = "不存在!";
    if(bl==true){
      s="存在!";
    }
    return s;
  }  
}

当然一定不要忘记在配置文件中获取网络权限,代码如下:

<!-- 获得网络权限 -->
  <uses-permission 
    android:name="android.permission.access_network_state"
    />

希望本文所述示例对大家android程序设计有一定的帮助。