Я включил базовую активность ниже.Мне нужно прислушиваться к изменениям сети во всем приложении в основном состоянии.Итак, для этого я буду регистрировать приемник вещания в 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);
}
}