Android网络状态监听
时间: 2023-10-25 15:15:40 浏览: 37
Android提供了一个ConnectivityManager类来监听网络状态的变化。通过它,我们可以注册一个广播接收器,当网络状态变化时,接收器就会收到一个通知。以下是代码示例:
1. 权限声明
首先,在AndroidManifest.xml文件中添加以下权限声明:
```
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
```
2. 注册广播接收器
在Activity中注册广播接收器:
```
private NetworkReceiver mNetworkReceiver = new NetworkReceiver();
@Override
protected void onResume() {
super.onResume();
IntentFilter filter = new IntentFilter();
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(mNetworkReceiver, filter);
}
@Override
protected void onPause() {
super.onPause();
unregisterReceiver(mNetworkReceiver);
}
```
3. 实现广播接收器
创建一个广播接收器类,继承自BroadcastReceiver类,并实现onReceive方法:
```
public class NetworkReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnected()) {
// 网络已连接
} else {
// 网络未连接
}
}
}
```
在onReceive方法中,我们可以获取当前的网络状态,并根据我们的需要做出相应的处理。
以上就是Android网络状态监听的基本流程。程序员可以根据具体的需求,对广播接收器进行更多的扩展和优化。