0

我在 android 中使用 BroadcastReceiver 类来获取有关网络变化的信息

使用以下代码:

 class NetworkStatus extends BroadcastReceiver{    
    ......
    @Override
    public void onReceive(Context context, Intent intent) {
}
       public void startBroadCastReceiver()
{

}

public void  StopBroadCastReceiver()
{
}

我想停止广播接收器,然后重新启动它我该怎么做

4

2 回答 2

1

广播接收器喜欢事件处理程序,当广播与您定义的意图匹配时,Android 系统会自动调用它。如果您在 manifast 文件中定义 boardcast 接收器,我认为唯一可以在您不想处理广播时立即返回的方法,如下所示:

public void onReceive(Context context, Intent intent) {
     if (stoppedBroadcast)
          return;

     // handle broadcast.
}

public void stopBroadcast {
     stoppedBroadcast = true;
}

public void resumeBroadcast {
     stoppedBroadcast = false;
}
于 2012-11-28T07:32:13.490 回答
0

如果您想停止接收网络更改,请尝试在您的注册活动/服务中取消注册接收器。当您想要启用接收时,再次使用其 IntentFilter 注册接收者。

于 2012-11-28T07:30:40.837 回答