ACTION_CONNECTION_STATE_CHANGED 使用
时间: 2023-08-01 17:13:22 浏览: 85
Intent.action_大全
4星 · 用户满意度95%
Android中的ACTION_CONNECTION_STATE_CHANGED是一个广播消息,用于通知应用程序网络连接状态的变化。当网络连接状态发生变化时,系统会发送此广播,应用程序可以通过注册BroadcastReceiver接收此广播并执行相应的操作。
使用该广播的步骤如下:
1. 在AndroidManifest.xml文件中添加以下权限:
```
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
```
2. 注册BroadcastReceiver接收该广播:
```
IntentFilter filter = new IntentFilter();
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(receiver, filter);
```
3. 在BroadcastReceiver中处理该广播:
```
private BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
// 处理网络连接状态变化
boolean isConnected = isNetworkConnected(context);
if (isConnected) {
// 网络已连接
} else {
// 网络已断开
}
}
}
};
```
4. 实现isNetworkConnected方法判断网络连接状态:
```
private boolean isNetworkConnected(Context context) {
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
return networkInfo != null && networkInfo.isConnected();
}
```
注意:该广播只能检测网络连接状态的变化,无法判断网络是否可用。如果需要判断网络是否可用,可以使用ping命令或者访问一个可靠的网站等方法进行判断。
阅读全文