在Android中对于网络状态的监听,这里做最简单的一种。直接上步骤:
1、首先在Activity或者Fragment中定义一个类继承BroadcastReceiver ,内容如下:
public class NetworkStatusReciver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
// 获取代表联网状态的NetWorkInfo对象
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
// 获取当前的网络连接是否可用
if (networkInfo != null && networkInfo.isAvailable()) {
Toast.makeText(context, "已连接网络!", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(context, "当前网络处于断网状态!", Toast.LENGTH_SHORT).show();
}
}
}
2、在Activity或者Fragment的onCreate方法中注册广播监听。
IntentFilter intentfile = new IntentFilter();
intentfile.addAction("android.net.conn.CONNECTIVITY_CHANGE");
network = new NetworkStatusReciver ();
context.registerReceiver(network, intentfile);
3、在onDestroy中解除绑定。
@Override
public void onDestroy() {
super.onDestroy();
context.unregisterReceiver(network);
}
ps:注意声明network和context。
NetworkStatusReciver network;
Context context=MainActivity.this;
这样就能简单的监听网络是连接还是断开了。
网友评论