android 获取网络状态
2015-08-25 18:13
225 查看
方案一:
在代码中,主要使用了两个类:ConnectivityManager和NetworkInfo类。这里只判断了两种大类的网络类型:wIfi(wifi网络)和mobile(数据流量)。
使用广播监听网络状态改变,当网络状态发生变化的时候,再去获取网络的信息。在activity销毁的时候,记得 unregisterReceiver(receiver);否则会报错。
注册广播:
广播类:
在代码中,主要使用了两个类:ConnectivityManager和NetworkInfo类。这里只判断了两种大类的网络类型:wIfi(wifi网络)和mobile(数据流量)。
private boolean isConnectInent(Context context) { ConnectivityManager conmanager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = conmanager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (networkInfo.isConnected()) { return true; } networkInfo = conmanager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); if (networkInfo.isConnected()) { return true; } return false; }方案二:
使用广播监听网络状态改变,当网络状态发生变化的时候,再去获取网络的信息。在activity销毁的时候,记得 unregisterReceiver(receiver);否则会报错。
注册广播:
IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION); receiver = new NetWorkReceiver(); this.registerReceiver(receiver, filter);
广播类:
public class NetWorkReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { ConnectivityManager conmanager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = conmanager.getActiveNetworkInfo(); if(networkInfo!=null){ message.setText(networkInfo.getTypeName()+" "); }else{ message.setText("没有网络!"); } } }
相关文章推荐
- HTTP请求报文和HTTP响应报文
- 通过网络挖掘检测谣言和误信息(2015)
- 《HTTP权威指南》阅读笔记(七)
- allegro如何删除没有网络的走线,查还没有连的网络线
- HTTP协议详解
- Android OkHttp完全解析 是时候来了解OkHttp了
- http 返回码 405 解决方案之一
- iOS网络数据解析--XML解析详解(GDataXMLNode&原生NSXMLParser)
- Unity&Socket使用TCP通信学记一
- Http断点下载实简单讲解
- 简单 android 广播监听网络状态变化
- 计算机网络组网与配置技术—— 读书笔记6、路由器、交换机的配置
- tomcat 服务器配置 https 双向认证
- 三次握手,四次挥手,tcp连接,udp无连接,udp连接
- HttpClient简介
- 浅谈HTTP中Get与Post的区别
- 计算机网络组网与配置技术—— 读书笔记5、计算机网络常用命令
- 计算机网络系统--TCP/IP OSI模型
- 虚拟机网络设置
- Linux下用tc控制网络延时和丢包率