阅读量:118
在Android中使用ConnectivityManager可以获取设备的网络连接信息并监听网络连接状态的变化。以下是一个简单的示例:
- 首先,在AndroidManifest.xml文件中添加以下权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
- 在代码中获取ConnectivityManager实例:
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
- 获取当前网络连接信息:
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnected()) {
// 网络已连接
} else {
// 网络未连接
}
- 监听网络连接状态的变化:
ConnectivityManager.NetworkCallback networkCallback = new ConnectivityManager.NetworkCallback() {
@Override
public void onAvailable(Network network) {
super.onAvailable(network);
// 网络连接可用
}
@Override
public void onLost(Network network) {
super.onLost(network);
// 网络连接丢失
}
};
connectivityManager.registerDefaultNetworkCallback(networkCallback);
记得在不需要监听网络连接状态变化时,调用unregisterNetworkCallback()方法取消注册网络监听器。