动态监听网络状态
2015-11-19 09:16
666 查看
package com.pb.app; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.os.Bundle; import android.util.Log; import android.widget.RelativeLayout; import android.widget.Toast; /** * 相关的权限: * <uses-permission android:name="android.permission.INTERNET" /> * <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> */ public class MainActivity extends Activity { private RelativeLayout no_net_show; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.main); no_net_show = (RelativeLayout) findViewById(R.id.no_net_show); /** * 网络状态改变的广播 * */ registerBroadcast(); } private void registerBroadcast() { // 注册网络状态改变的广播 IntentFilter netfilter = new IntentFilter( ConnectivityManager.CONNECTIVITY_ACTION); netfilter.addCategory(Intent.CATEGORY_DEFAULT); registerReceiver(receiver, netfilter); } @Override protected void onDestroy() { unregisterReceiver(receiver); super.onDestroy(); } /** * 广播接收 */ private BroadcastReceiver receiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals( ConnectivityManager.CONNECTIVITY_ACTION)) { ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); // 获得激活的网络信息 NetworkInfo networkinfo = manager.getActiveNetworkInfo(); if(networkinfo!=null){ // 当前网络是否有效 boolean netState = networkinfo.isAvailable(); Log.i("caojing", "netState:"+netState); // 当前网络是否已连接 boolean connState = networkinfo.isConnected(); Log.i("caojing", "connState:"+connState); // 当前网络的类型 3G WIFI String netType = networkinfo.getTypeName(); Log.i("caojing", "netType:"+netType); if(netState&&connState){ no_net_show.setVisibility(RelativeLayout.GONE); Toast.makeText(MainActivity.this, "网络连接可用,连接的为:"+netType, Toast.LENGTH_SHORT).show(); } }else{ no_net_show.setVisibility(RelativeLayout.VISIBLE); } } } }; }
相关文章推荐
- android 监听网络状态
- 【读书笔记】iOS-苹果的网络
- 【读书笔记】iOS-苹果的网络
- HTTP403(禁止访问)---WampServer 127.0.0.1 禁止访问
- Feng是LSCUBE维护的开源流媒体服务器,兼容IETF标准,实现了RTSP、RTP/RTCP
- Fiddler工具安装介绍
- Ubuntu下libpcap安装步骤
- 网络下载图片大全
- GPRS流量计算方法(TCP/IP)
- Java网络学习笔记3:设置Socket选项(补充)
- CentOS网络配置
- HTTP协议下Android web应用GET和POST请求方法的请求、响应、传参
- saltstack 的web平台集群部署(3)---haproxy+keepalive+httpd 的部署
- python之最简http文件列表显示服务
- lighttpd web.py
- lighttpd支持python
- HttpDns
- python之迷你版Httpd服务器
- OkHttp解析系列-重定向和出错重试
- Linux基本网络命令