Android 监听网络状态变化提示并更新Activity或者FragMent 详细代码
以下是一个示例代码,用于监听网络状态变化并在Activity或Fragment中更新UI:
- 在AndroidManifest.xml文件中添加以下权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
- 创建一个BroadcastReceiver类,用于接收网络状态变化的广播:
public class NetworkChangeReceiver 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()) {
// 网络已连接
// 在这里执行更新UI的操作,例如更新Activity或Fragment中的TextView内容
} else {
// 网络未连接
// 在这里执行更新UI的操作,例如更新Activity或Fragment中的TextView内容
}
}
}
- 在需要监听网络状态变化的Activity或Fragment中注册广播接收器,并在onResume()和onPause()方法中分别进行注册和注销操作:
public class MainActivity extends AppCompatActivity {
private NetworkChangeReceiver receiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 注册广播接收器
receiver = new NetworkChangeReceiver();
}
@Override
protected void onResume() {
super.onResume();
// 注册广播接收器
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(receiver, intentFilter);
}
@Override
protected void onPause() {
super.onPause();
// 注销广播接收器
unregisterReceiver(receiver);
}
}
这样,当网络状态发生变化时,广播接收器会接收到相应的广播,并在onReceive()方法中执行更新UI的操作。你可以根据自己的需求,在相应的位置添加更新UI的代码
原文地址: https://www.cveoy.top/t/topic/ixby 著作权归作者所有。请勿转载和采集!