1、同样的我们首先打开Android Studio新建一个Activity并设置为启动项。这里我们需要在清单文件中添加访问网络及其状态的权限。<uses-permission android:name="android.permission.INTERNET"></uses-permission><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
![Android开发学习:[33]Android查询网络状态](https://exp-picture.cdn.bcebos.com/de9bfa3b3b8602218f8d71e5d8bbf82065fb7272.jpg)
2、然后我们在界面布局上面添加一个textview和一个button<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context="com.basillee.demo2.ConnectivityManagerActivity"> <TextView android:id="@+id/textViewConnectivityManagerDetail" android:text="" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/button" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ShowDetails" android:id="@+id/button" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" /></RelativeLayout>下面是design视图的截图:
![Android开发学习:[33]Android查询网络状态](https://exp-picture.cdn.bcebos.com/92174dbbf82064fb53d1d3928e6104a354e96f72.jpg)
3、然后我们在后台代码里面注册这些控件,然后添加点击事件,将各种网络信息显示在Te垓矗梅吒xtView上面代码如下:protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_connectivity_manager); textView= (TextView) findViewById(R.id.textViewConnectivityManagerDetail); button= (Button) findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { StringBuffer stringBuffer=new StringBuffer(""); //实例化ConnectivityManager对象 ConnectivityManager connectivityManager= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); //获得当前可用网络的网络信息数据 NetworkInfo networkInfo=connectivityManager.getActiveNetworkInfo(); if(networkInfo!=null){ //网络是否可用 stringBuffer.append("isAvailable: "+(networkInfo.isAvailable()?"yes":"no")+"\n"); //获取网络类型 stringBuffer.append("NetwortType: "+networkInfo.getTypeName()+"\n"); //获取当前网络链接的子类型(如果存在) stringBuffer.append("SubType: "+networkInfo.getSubtypeName()+"\n"); //获取网络链接的初略状态 stringBuffer.append("Details: "+networkInfo.getState().toString()+"\n"); //获取网络链接的额外信息 stringBuffer.append(networkInfo.getExtraInfo()+"\n"); //获取是否漫游 stringBuffer.append(networkInfo.isRoaming()?"yes":"no"+"\n"); textView.setText(stringBuffer); }else{ //如果没有可用的网络链接,给予提示 textView.setText("no available to use"); } } }); }下图是点击事件的重要代码
![Android开发学习:[33]Android查询网络状态](https://exp-picture.cdn.bcebos.com/04201aa355e983ae230dbb9968efe07815316972.jpg)
4、然后我们打开一个虚拟机,点击上面的手机机器人按钮。选择好你要运行的虚拟机。
![Android开发学习:[33]Android查询网络状态](https://exp-picture.cdn.bcebos.com/586bfdefe07814310f6cd0dfdc6699cf03536272.jpg)
![Android开发学习:[33]Android查询网络状态](https://exp-picture.cdn.bcebos.com/332d496699cf0253fab9c1366b36e29146e85f72.jpg)
5、然后点击上面的运行按钮
![Android开发学习:[33]Android查询网络状态](https://exp-picture.cdn.bcebos.com/46a92de039723d036630dc35bb486143d6d45772.jpg)
6、最后我们的虚拟机开启后如图所示
![Android开发学习:[33]Android查询网络状态](https://exp-picture.cdn.bcebos.com/31097f43d7d44831e7311414d40f822b75ee5172.jpg)
7、最后我们点击按钮,可以看到网络信息显示出来了
![Android开发学习:[33]Android查询网络状态](https://exp-picture.cdn.bcebos.com/5e4e9c2b74ee1c32a2c2b39f07f1d8a727334b72.jpg)