使用ConnectivityManager监听网络状态变化

	mIntenFilter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
    mConnectivityManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
    mReceiver = new BroadcastReceiver() {
			
		@Override
		public void onReceive(Context context, Intent intent) {

			if (intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false)) {
				Log.i(TAG, "netWork has lost");
			}
		
			NetworkInfo tmpInfo = (NetworkInfo) intent.getExtras().get(ConnectivityManager.EXTRA_NETWORK_INFO);
			Log.i(TAG, tmpInfo.toString() + " {isConnected = " + tmpInfo.isConnected() + "}");
		}
	};

 程序第一次启动时会收到一个Broadcast 


从 GPRS 到 WIFI,程序至少会收到3个Broadcast 
第一个是连接到WIFI 
第二个是断开GPRS 
第三个是连接到WIFI 

从WIFI到GPRS,程序至少会收到2个Broadcast 
第一个是断开Wifi 
第二个是连接到GPRS
 

猜你喜欢

转载自coolwhy1.iteye.com/blog/1901400