【android】监听网络变化连续多个广播的问题解决

在Android中,当网络状态改变时,BroadcastReceiver可能会接收到多次广播。为了解决网络切换时的重复提醒问题,可以在`onReceive()`方法中判断当前网络连接类型是否与上一次相同。如果不同,则忽略广播,只在状态变化时提醒用户。通过比较`ConnectivityManager.EXTRA_NETWORK_INFO`的`State`和`getType()`,可以过滤掉不必要的广播。
摘要由CSDN通过智能技术生成

问题:

public class NetStatReceiver extends BroadcastReceiver {
 public static final String netACTION = "android.net.conn.CONNECTIVITY_CHANGE";
 @Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
this.context = context;
if (intent.getAction().equals(netACTION)) {
// Intent中ConnectivityManager.EXTRA_NO_CONNECTIVITY这个关键字表示着当前是否连接上了网络
boolean isBreak = intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false);
if (!isBreak) {//有网络
  //3G跟WIFI切换的时候,会收到三个这样的广

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值