可以使用Android系统提供的ConnectivityManager类来实现对网络状态的监听,并在网络状态发生改变时更新UI或做出其他相应的处理。
示例代码如下:
public class NetworkChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// 获取ConnectivityManager实例
ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
// 获取当前网络状态信息
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
// 判断当前是否有可用网络
if(networkInfo != null && networkInfo.isConnected()) {
// TODO: 网络已连接,做出相应处理
} else {
// TODO: 网络已断开,做出相应处理
}
}
}
// 创建BroadcastReceiver实例
NetworkChangeReceiver networkChangeReceiver = new NetworkChangeReceiver();
// 创建IntentFilter实例
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");
// 注册BroadcastReceiver
registerReceiver(networkChangeReceiver, intentFilter);
这样,在网络状态发生改变时,BroadcastReceiver的onReceive()方法会被调用,从而实现对网络状态的即时监听。
上一篇:不断检查条件是否为真或假
下一篇:不断检查要求的循环