当前位置: 代码迷 >> Android >> Android判断网络状态步骤详解
  详细解决方案

Android判断网络状态步骤详解

热度:28   发布时间:2016-05-01 16:04:05.0
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;	}
  相关解决方案