У меня есть этот BroadcastReceiver
реализацию в моем Fragment
:WifiManager.NETWORK_STATE_CHANGED_ACTION запускает каждый раз
private BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) {
NetworkInfo networkInfo =
intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
if(networkInfo.isConnected()) {
//do stuff
}
//Other actions implementation
}
}
};
С стандартного регистра/Отмена регистрации методы:
@Override
public void onStart() {
super.onStart();
getActivity().registerReceiver(receiver, getIntentFilter());
}
@Override
public void onStop() {
super.onStop();
getActivity().unregisterReceiver(receiver);
}
и приемник с той же реализации для WifiManager.NETWORK_STATE_CHANGED_ACTION
в других Fragment
T он вопрос: это действие вызывает каждый раз один из фрагментов начал, но мне это нужно, чтобы вызвать только если Wi-Fi был действительно просто подключен, а также имя действия говорит WifiManager.NETWORK_STATE_CHANGED_ACTION
, поэтому он должен работать только если Wifi изменения состояния
Редактировать: как было указано, что это действие будет срабатывать каждый раз по умолчанию, так что мой вопрос: Нет никаких действий для Wi-Fi соединение?
Я думаю, что лучшим вариантом было бы иметь только один BroadcastReceiver в Activity и методы вызова в текущем активном фрагменте при изменении состояния соединения. –