`
亚当爱上java
  • 浏览: 706067 次
  • 性别: 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 判断网络状态实例详解

    在Android开发中,判断网络状态是一项重要的功能,它允许应用根据网络连接情况提供相应的服务或提示用户。本文将深入解析如何在Android应用中检查网络连接的状态,并提供一个具体的实例代码来帮助开发者理解和实现这...

    Android 监听网络状态方法详解

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

    Android 4.0网络编程详解

    《Android 4.0网络编程详解》一书深入探讨了在Android 4.0系统上进行网络编程的技术细节与实践方法。此版本的Android系统,即Ice Cream Sandwich(冰淇淋三明治),带来了许多网络功能上的改进和新特性,使得开发者...

    ANDROID 4.0网络编程详解代码

    本书"ANDROID 4.0网络编程详解代码"显然是为了帮助开发者理解和掌握如何在Android 4.0上进行高效的网络操作。 首先,我们要了解Android中的网络API,主要包括HttpURLConnection、HttpClient(已被弃用,但在Android...

    Android判断Internet连接

    ### Android判断Internet连接知识点 #### 一、背景与目的 在Android应用开发过程中,检查设备是否连接到互联网是一项常见的需求。这有助于优化用户体验并确保应用能够根据网络状态做出相应的响应,比如显示离线...

    Android开心消消乐代码实例详解

    Android开心消消乐代码实例详解 Android开心消消乐代码实例详解是Android开发领域中非常重要的一部分,对于Android开发者来说,掌握开心消消乐代码实例是非常必要的。下面我们将从开心消消乐代码实例的基本概念、...

    Android onActivityResult和setResult方法详解及使用

    在Android应用程序开发中,`onActivityResult()` 和 `setResult()` 方法是两个非常关键的组件,它们用于在不同的Activity之间传递数据和控制流程。当我们需要从一个Activity启动另一个Activity并期待返回结果时,这...

    Android网络相关问题集合

    以下代码片段展示了一种方法来判断设备当前是否有网络连接,并检查是否处于漫游状态。 #### 检测网络连接 ```java public static boolean hasInternet(Activity activity) { ConnectivityManager manager = ...

    Android编程设计模式之状态模式详解

    在Android开发中,状态模式可以用于处理各种状态相关的业务,例如网络连接状态、用户登录状态、应用的加载状态等。以电视遥控器为例,我们可以创建PowerOnState和PowerOffState两个具体状态类,分别代表电视的开机和...

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

    2. **判断网络是否可用**:`isNetworkAvalible()`方法是核心功能,它检查当前设备是否存在有效的网络连接。这通常通过遍历所有网络接口(如Wi-Fi、移动数据等)的`NetworkInfo`对象来完成。如果发现任何接口处于`...

    Android网络工具类NetworkUtils详解

    在实际开发中,这些方法可以帮助开发者快速检查网络状态,判断用户是否可以进行网络操作,或者根据网络条件提供不同的用户体验。例如,如果网络不可用,可以显示错误提示或自动切换到离线模式;如果网络是4G,可以...

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

    在实际应用中,我们可以通过创建`ConnectionDetector`的实例并调用`isConnectingToInternet()`方法来判断网络状态: ```java ConnectionDetector cd = new ConnectionDetector(getApplicationContext()); Boolean ...

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

    综上所述,Android Service判断联网状态主要通过`ConnectivityManager`和`NetworkInfo`类进行,包括获取网络服务、检查网络连接是否存在以及判断网络是否可用。了解这些知识点对于构建适应各种网络环境的Android应用...

    android检测U盘插拔事件

    另一种可能的方法是通过Service或者Activity中的生命周期方法来检测U盘状态的变化,但这通常不太可靠,因为U盘插拔可能不会触发明显的应用生命周期改变,因此这种方法可能无法准确捕获到U盘的热插拔事件。...

    Android端实现单点登录的方法详解

    下面我们将深入探讨Android端实现单点登录的具体方法。 首先,服务端的角色至关重要。服务端需要维护一个令牌(Token)系统,每当应用程序(APP)中的用户成功登录时,服务器会分配一个新的Token给APP。这个Token...

    Android 判断是否能真正上网的实例详解

    总结起来,Android应用程序判断是否能真正上网,既可以通过`ConnectivityManager`检查网络连接状态,也可以结合ping命令进行网络连通性验证。同时,开发者还应考虑到不同的网络环境(如Wi-Fi、移动数据)以及可能的...

    android对Wifi进行操作详解

    - 通过 `isWifiEnabled()` 方法可以判断当前设备的 Wi-Fi 是否处于开启状态。 - 示例代码: ```java boolean isWifiOn = wifiManager.isWifiEnabled(); ``` 2. **开启/关闭 Wi-Fi**: - 可以通过 `...

Global site tag (gtag.js) - Google Analytics