我们在编写Android的APP时,往往需要经由过程连接网络来进行客户端与办事器的通信,这时辰就需要检测客户端的收集毗连是否正常,是否已经毗连上Wifi收集或者移动数据,只有知足此中肆意一项后才可正常进行收集操作,不然应该提醒用户进行响应的操作

工具/原料
- Android Studio
- Android模拟器
- 正常的收集毗连
方式/步骤
- 1
启动Android IDE,这里以常用的Android Studio为例,然后可以新建一个工程,也可以操纵当前已经存在的工程,点击后期待整个项目加载完毕

- 2
点击File-New-Java Class,即可建立一个新的Java类,专门用于测试收集毗连的状况

- 3
类名可以肆意指定,可是要注重必然要合适Java的定名规范,即以年夜写字母开首不克不及包罗特别符号

- 4
经由过程查阅Android官方的API文档库,我们可以看到可以利用getNetworkInfo这个类下的方式来获取收集毗连状况

- 5
因为需要利用广播进行操作,这个类需要担当BroadcastReceiver并重写onReceive方式,需要导入三个包:android.content.BroadcastReceiver、android.content.Contextandroid.content.Intent

- 6
获得一个ConnectivityManager对象,此中上下文域中存储了当前系统的毗连信息

- 7
建立一个Network数组,挪用connMgr.getAllNetworks()方式把当前收集信息赋值给它

- 8
因为保留收集信息的数据长度无法确定,所以可用StringBuilder来建立一个字符串,再经由过程轮回遍历network数组的体例获得每一个收集毗连状况的信息,再用append方式增加字符串的长度

- 9
最后用一个toast来输出收集毗连信息,注重StringBuilder类型不克不及直接输出,需要挪用.toString()方式转化为字符串再输出

- 10
最后点击运行按钮,可以选择安卓虚拟机或者实机进交运行,稍等半晌,即可显示出当前的收集信息

注重事项
- 此方式的兼容性要求API>=23,若是不知足前提可以选择根本的方式
- 在分歧的手机上可能显示的结果有所分歧
- 获取收集状况需要在"AndroidManifest.xml"文件中加上"android.permission.INTERNET"的权限







