android设备判断网络连接状态

android开发中,在做网络请求前判断当前网络连接状态有时很有必要。本文将介绍如何获取android设备当前网络连接状态!

所需权限(AndroidManifest.xml文件中添加):

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

Java代码(MainActivity.java文件)

package com.example.androidtest;

import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.NetworkInfo.State;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.util.Log;
import android.view.Menu;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		boolean bFlag = isNetworkAvailable(this.getApplicationContext());
		if (bFlag) {
			Log.i("Network state - ", "connected");
		} else {
			Log.i("Network state - ", "disconnected");
		}

	}

	/**
	 * 判断网络连接状况
	 *
	 * @param ctx
	 * @return
	 */
	public boolean isNetworkAvailable(Context ctx) {
		boolean bFlag = false;
		if (ctx != null) {
			ConnectivityManager conMan = (ConnectivityManager) ctx
					.getSystemService(Context.CONNECTIVITY_SERVICE);
			if (conMan != null) {
				// wifi Network
				NetworkInfo nInfoW = conMan
						.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
				if (nInfoW != null) {
					State wifi = nInfoW.getState();
					if (State.CONNECTED == wifi) {
						bFlag = true;
					}
				}
				if (!bFlag) {
					// mobile Network
					NetworkInfo nInfoM = conMan
							.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
					if (nInfoM != null) {
						State mobile = nInfoM.getState();
						if (State.CONNECTED == mobile) {
							bFlag = true;
						}
					}
				}
			}
		}
		return bFlag;
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.activity_main, menu);
		return true;
	}

}

isNetworkAvailable方法里先做wifi连接状态判断,如果wifi未连接,再做2g/3g/4g...手机网连接状态判断。

时间: 2024-10-01 22:18:35

android设备判断网络连接状态的相关文章

Android中判断网络连接是否可用及监控网络状态

Android中判断网络连接是否可用及监控网络状态 作者: 字体:[增加 减小] 类型:转载 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限,接下来详细介绍Android中判断网络连接是否可用及监控网络状态,感兴趣的朋友可以参考下 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"

Android编程 获取网络连接状态 及调用网络配置界面

获取网络连接状态 随着3G和Wifi的推广,越来越多的Android应用程序需要调用网络资源,检测网络连接状态也就成为网络应用程序所必备的功能. Android平台提供了ConnectivityManager 类,用于网络连接状态的检测. Android开发文档这样描述ConnectivityManager的作用: Class that answers queries about the state of network connectivity. It also notifies applic

判断网络连接状态

/** * 判断网络连接状态 */ public static boolean isNetworkAvailable(Context context) { ConnectivityManager cwjManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info = cwjManager.getActiveNetworkInfo(); if (in

Android设备使用网络连接调试

最近遇到一个问题,没有usb接口怎么让Android设备与PC机连接起来?后来同事告诉我,原来可以利用网络使其连接起来,这样调试起来就方便多了,还好有个网口提供网络的连接.其实很简单,只需要向system/build.prop文件中添加如下一句即可: service.adb.tcp.port=5555 进入串口终端 [email protected]:/ $ su [email protected]:/ # vi system/build.prop 由于system/build.prop是系统文

Android判断网络连接状态

需要相关权限 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/><uses-permission android:name="android.permission.INTERNET"/

android判断网络连接状态、联网类型、运营商

/** * 获取上网方式 * * @param mContext * @return */ public static String getNetType(Context mContext) { String netType = ""; ConnectivityManager connectionManager = (ConnectivityManager) mContext .getSystemService(Context.CONNECTIVITY_SERVICE); Networ

Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面

http://www.mobiletuts.me 获取网络连接状态 随着3G和Wifi的推广,越来越多的Android应用程序需要调用网络资源,检测网络连接状态也就成为网络应用程序所必备的功能. Android平台提供了ConnectivityManager  类,用于网络连接状态的检测. Android开发文档这样描述ConnectivityManager 的作用: Class that answers queries about the state of network connectivi

Android编程获取网络连接状态及调用网络配置界面

获取网络连接状态 随着3G和Wifi的推广,越来越多的Android应用程序需要调用网络资源,检测网络连接状态也就成为网络应用程序所必备的功能. Android平台提供了ConnectivityManager 类,用于网络连接状态的检测. Android开发文档这样描述ConnectivityManager的作用: Class that answers queries about the state of network connectivity. It also notifies applic

android中判断网络连接是否可用

一.判断网络连接是否可用 1 public static boolean isNetworkAvailable(Context context) { 2 ConnectivityManager cm = (ConnectivityManager) context 3 .getSystemService(Context.CONNECTIVITY_SERVICE); 4 if (cm == null) { 5 } else { 6 //如果仅仅是用来判断网络连接 7 //则可以使用 cm.getAc