Вызов сетевого широковещательного приемника при регистрации в onStart (), как этого избежать? - PullRequest
0 голосов
/ 01 декабря 2018

Я включил базовую активность ниже.Мне нужно прислушиваться к изменениям сети во всем приложении в основном состоянии.Итак, для этого я буду регистрировать приемник вещания в onStart() базовой активности и отменять регистрацию в onStop().Но всякий раз, когда вновь создается действие, вызывается этот метод onStart(), и в это время регистрируется широковещательный приемник onReceive() широковещательного приемника, поэтому эту проблему необходимо вызывать только всякий раз, когда происходит изменение сети.Я включил в файл манифеста следующее:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

Ниже перечислены мои основные действия:

public class BaseActivity extends Activity {

private final IntentFilter networkIntentFilter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);

private BroadcastReceiver reciever = new BroadcastReceiver(){
    @Override
    public void onReceive(Context context, Intent intent) {
       // necessary code
    }    
};

@Override
public void onCreate(Bundle state) {
    setContentView(R.layout.....);
}

@Override
public void onStart() {
    registerReceiver(reciever , networkIntentFilter);
}

@Override
public void onStop() {
    unregisterReceiver(reciever);
}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...