2012-11-28 43 views
0

我使用的是Android中的BroadcastReceiver类使用下面的代码来获取有关网络改变停止Android的广播接收器

信息:

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

} 

public void StopBroadCastReceiver() 
{ 
} 

我想停止广播接收器,然后重新 如何启动我可以这样做吗

回答

1

广播接收器喜欢事件处理程序,当广播符合您定义的意图时,Android系统会自动调用它。如果您在发表文件中定义了boardcast接收器,我认为只有当您不想处理广播时才能立即返回,如下所示:

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

    // handle broadcast. 
} 

public void stopBroadcast { 
    stoppedBroadcast = true; 
} 

public void resumeBroadcast { 
    stoppedBroadcast = false; 
} 
0

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