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 システムが自動的に呼び出します。マニファストファイルでボードキャストレシーバーを定義する場合、次のように、ブロードキャストを処理したくないときにすぐに戻ることができる唯一の方法だと思います。

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

ネットワークの変更の受信を停止したい場合は、登録アクティビティ/サービスでunregisterRecieverを試してください。受信を有効にしたい場合は、レシーバーを IntentFilter に再度登録します。

于 2012-11-28T07:30:40.837 に答える