`
亚当爱上java
  • 浏览: 698320 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android判断网络状态方法详解

阅读更多
Android 判断网络状态这一应用技巧在实际应中是比较重要的。那么,在Android操作系统中,如何能够正确的判断我们所连接的网络是否断开恩?今天我们就针对这一应用技巧进行一个详细的分析。

	//注册一个广播接收者,接收网络连接状态改变广播
 public class ConnectionChangeReceiver extends BroadcastReceiver {
		@Override
		public void onReceive(Context context, Intent intent) {
			ConnectivityManager connectivityManager = (ConnectivityManager) context
					.getSystemService(Context.CONNECTIVITY_SERVICE);
			NetworkInfo activeNetInfo = connectivityManager
					.getActiveNetworkInfo();
			NetworkInfo mobNetInfo = connectivityManager
					.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
			if (activeNetInfo != null) {
				Toast.makeText(context,
						"Active Network Type : " + activeNetInfo.getTypeName(),
						Toast.LENGTH_SHORT).show();
			}
			if (mobNetInfo != null) {
				Toast.makeText(context,
						"Mobile Network Type : " + mobNetInfo.getTypeName(),
						Toast.LENGTH_SHORT).show();
			}
		}
	}

<!-- Needed to check when the network connection changes -->
	<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
	<receiver
		android:name="com.blackboard.androidtest.receiver.ConnectionChangeReceiver"
		android:label="NetworkConnection"> 
		<intent-filter> 
			<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/> 
		</intent-filter>
	</receiver>


另一种方法:
	public boolean isNetworkAvailable() {
		Context context = getApplicationContext();
		ConnectivityManager connectivity = (ConnectivityManager) context
				.getSystemService(Context.CONNECTIVITY_SERVICE);
		if (connectivity == null) {
			boitealerte(this.getString(R.string.alert),
					"getSystemService rend null");
		} else {//获取所有网络连接信息
			NetworkInfo[] info = connectivity.getAllNetworkInfo();
			if (info != null) {//逐一查找状态为已连接的网络
				for (int i = 0; i < info.length; i++) {
					if (info[i].getState() == NetworkInfo.State.CONNECTED) {
						return true;
					}
				}
			}
		}
		return false;
	}
分享到:
评论
1 楼 jesson02 2012-07-24  
android.net.conn.CONNECTIVITY_CHANGE
针对此系统广播所对应的属性,是不是只要网络连接状态发生改变,对应组件就会执行相应操作?

具体想知道,当网络断开时,是否执行接收广播的receiver

相关推荐

    Android 判断网络状态实例详解

    主要介绍了Android 判断网络状态实例详解的相关资料,需要的朋友可以参考下

    Android 监听网络状态方法详解

    Android 监听网络状态方法详解 一.加入网络权限 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限。 &lt;uses Android:name=android.permission.ACCESS_NETWORK_STATE&gt; 二.判断手机网络的几个方案 1)...

    Android 广播监听网络状态详解及实例代码

    Android 广播监听网络状态 我们在做多线程下载的时候,或者是在加载h5界面的时候,常常会遇到网络状态不好或者断网的时候,在这或者当我们的应用程序启动没有退出的时候,我们就需要对网络状态监听加以判断。 这...

    Android网络工具类NetworkUtils详解

    判断wifi是否连接状态 isWifiConnected 获取移动网络运营商名称 getNetworkOperatorName 获取移动终端类型 getPhoneType 获取当前的网络类型(WIFI,2G,3G,4G) getNetWorkType、getNetWorkTypeName 代码: import ...

    Android中判断网络是否连接实例详解

    Android中判断网络是否连接实例详解 在android中,如何监测网络的状态呢,这个有的时候也是十分重要的,方法如下: public class ConnectionDetector { private Context _context; public ConnectionDetector...

    Android检查网络状态工具类详解

    主要为大家详细介绍了Android检查网络状态工具类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    Android Service判断设备联网状态详解

    首先,要想获得当前android设备是否处于联网状态,那么android本身给我们提供了一个服务。 private ConnectivityManager connectivityManager;//用于判断是否有网络 connectivityManager = (ConnectivityManager)...

    android 判断横竖屏问题的详解

    如果不想让软件在横竖屏之间切换,最简单的办法就是在项目的 AndroidManifest.xml中找到你所指定的activity中加上android:screenOrientation属性,他有以下几个参数:“unspecified” 默认值 由系统来判断显示方向....

    Android开发判断一个app应用是否在运行的方法详解

    主要介绍了Android开发判断一个app应用是否在运行的方法,结合实例形式较为详细的分析了Android判断应用运行状态的相关操作技巧与注意事项,需要的朋友可以参考下

    Google Android SDK开发范例大全(第3版) 1/5

    详细介绍了开发Android的人机交互界面、Android常用的开发控件、Android手机收发短信等通信服务、开发Android手机的自动服务功能和娱乐多媒体功能以及整合Android与Google强大的网络服务等内容。随书光盘中包括了...

    Google Android SDK开发范例大全(第3版) 4/5

    详细介绍了开发Android的人机交互界面、Android常用的开发控件、Android手机收发短信等通信服务、开发Android手机的自动服务功能和娱乐多媒体功能以及整合Android与Google强大的网络服务等内容。随书光盘中包括了...

    Google Android SDK开发范例大全(第3版) 3/5

    详细介绍了开发Android的人机交互界面、Android常用的开发控件、Android手机收发短信等通信服务、开发Android手机的自动服务功能和娱乐多媒体功能以及整合Android与Google强大的网络服务等内容。随书光盘中包括了...

    Google Android SDK开发范例大全(第3版) 5/5

    详细介绍了开发Android的人机交互界面、Android常用的开发控件、Android手机收发短信等通信服务、开发Android手机的自动服务功能和娱乐多媒体功能以及整合Android与Google强大的网络服务等内容。随书光盘中包括了...

    疯狂Android讲义源码

     第13章 Android的网络应用 476  13.1 基于TCP协议的网络通信 477  13.1.1 TCP协议基础 477  13.1.2 使用ServerSocket创建  TCP服务器端 478  13.1.3 使用Socket进行通信 479  13.1.4 加入多线程 483  13.2 ...

    详解Android中获取软键盘状态和软键盘高度

    详解Android中获取软键盘状态和软键盘高度 应用场景 在Android应用中有时会需要获取软键盘的状态(即软键盘是显示还是隐藏)和软键盘的高度。这里列举了一些可能的应用场景。 场景一 当软键盘显示时,按下返回键...

    详解Android控件状态依赖框架

    在生产型Android客户端软件(企业级应用)开发中,界面可能存在多个输入(EditText)和多个操作(MotionEvent和KeyEvent),且操作依赖于输入的状态。如下图所示的场景: 设定图中 确认操作依赖于商品编码和储位的状态...

Global site tag (gtag.js) - Google Analytics