[Android初级]Android程序监听网络的连接状况,This is a demo!

在很多的实际Android程序中,会经常性的遇到wifi断开或者手机3G网开关断开后 App提示的网络异常提醒,其实这些小功能的解决方案是很多的,现在我提供了一个比较多见的demo,用于学习参考。

首先,要了解一下BroadcastReceiver,这是Android中的四大组件之一,有着很强大的功能,主要用于监听系统全局的广播信息,也可以自己定义接受自己设定的带有自定义功能的Broadcast Intent .

然后我们开始实行监听网络状态的功能吧!

(1)先创建一个BroadcastReceiver的子类

/**
  * 主要是监听手机系统中网络状态的信息
  * @author jan
 */
public class NetworkStateReceiver extends BroadcastReceiver {
	private static final String NetworkTag="NetworkStateTag";
	//网络连接的状态管理类
	private ConnectivityManager cm;
	
	@Override
	public void onReceive(Context context, Intent intent) {
		cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
		NetworkInfo mobileNetInfo = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
		NetworkInfo wifiNetInfo = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
		if(mobileNetInfo.isConnected()||wifiNetInfo.isConnected()){
			Log.d(NetworkTag, "network is working");
			ToastUtil.show(context, "网络无障碍");
		}else{
			Log.d(NetworkTag, "network is not work");
			ToastUtil.show(context, "网络出现故障!");
		}
	}
}
(2)在AndroidManifest.xml中配置如下配置即可:

<receiver android:name=".ui.NetworkStateReceiver">
           <intent-filter>
               <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
           </intent-filter>
       </receiver>

这个时候你的系统如果出现断网或者网络连接成功 后 就会有提示。 微笑

你可能感兴趣的:(android,网络)