android 广播监听 自动刷新,Android广播监听网络状态

本文介绍了Android中的广播接收器,包括静态广播和动态广播的区别。静态广播在AndroidManifest.xml中注册,即使应用关闭仍能接收到广播,而动态广播需在Activity的onCreate/onDestroy中注册和注销,跟随Activity生命周期。示例代码展示了如何实现网络状态监听的动态广播接收器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

fc9245d5567b

1.先说一下广播,广播分为两种:静态广播和动态广播。静态广播即是静态注册的,而动态广播是代码动态注册。静态注册是通过 AndroidManifest 注册,是常驻型 ,当应用程序关闭以后,如果还有广播发出,程序也会被系统调用自动运行。动态注册广播不是常驻型广播,广播跟随 activity 的生命周期变化(一般在 onDestory 方法注销广播)。

2.权限 :

3.广播代码如下:

public class NetStateReceiver extends BroadcastReceiver {

@Override

public void onReceive(Context context, Intent intent) {

ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo networkInfo = cm.getActiveNetworkInfo();

if (networkInfo != null && networkInfo.isAvailable()) {

//说明网络是连接的

int type = networkInfo.getType();

switch (type) {

case ConnectivityManager.TYPE_MOBILE: //移动网络

break;

case ConnectivityManager.TYPE_WIFI: //wifi

break;

}

} else {

showToast("网络不可用");

}

}

}

4.动态注册

动态注册需要在你需要接受广播的 activity 中注册,然后进行你想要的操作。

在 onCreat 放里面注册:

private void rigisterReceiver() {

IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);

mStateReceiver = new NetStateReceiver();

registerReceiver(mStateReceiver,filter);

}

在 onDestory 方法里面注销:

protected void onDestroy() {

super.onDestroy();

unregisterReceiver(mStateReceiver);

}

5.静态注册

静态注册广播 是一个全局的广播,你的 App 退出以后,有网络变化,也会发出广播。

在 AndroidManifest 中注册:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值