以下是一个示例代码,用于监听网络状态变化并在Activity或Fragment中更新UI:

  1. 在AndroidManifest.xml文件中添加以下权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  1. 创建一个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内容
        }
    }
}
  1. 在需要监听网络状态变化的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的代码

Android 监听网络状态变化提示并更新Activity或者FragMent 详细代码

原文地址: https://www.cveoy.top/t/topic/ixby 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录