Android实时监听网络状态
Android手机在网络状态发生变化时会发出一条包含网络状态的广播("android.net.conn.CONNECTIVITY_CHANGE"
),通过接收该广播可以实时监听网络状态,并在不同状态下执行相应的回调。我们可以做一个简单的封装以方便使用。
首先是状态回调IOnNetworkStateChangedListener.java:
/**
* 对外接口,网络状态变化时的回调
*/
public interface IOnNetworkStateChangedListener {
/**
* 网络中断
*/
void onDisconnected ();
/**
* 网络转换为移动网络
*/
void onChangeToMobile();
/**
* 网络转换为wifi
*/
void onChangeToWifi();
}
然后是广播接收器,我们希望封装成观察者模式,以便在网络状态变化时可以通知所有的监听者NetworkReceiver.java