У меня следующая проблема:
private BroadcastReceiver connectivityBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (!Objects.equals(intent.getAction(), CONNECTIVITY_CHANGE)) {
Log.d(TAG, "connectivityBroadcastReceiver.onReceive() --> not the intent we are interested in");
return;
}
// FIXME: If connecting to Wi-Fi without internet AND mobile network is enabled there is no CONNECTIVITY_CHANGE callback
if (wiFiConnectionManager.isConnectedToTrackerHotSpot()) {
Log.i(TAG, "connectivityBroadcastReceiver.onReceive(): CONNECTED --> handleConnectedToTracker()");
handleConnectedToTracker();
} else {
// Make sure we only show 1 AlertDialog per CONNECT attempt (= button press)
if (userAwaitsResponse) {
Log.d(TAG, "connectivityBroadcastReceiver.onReceive() --> fragment.updateUiFailedToConnect()");
fragment.updateUiFailedToConnect();
userAwaitsResponse = false;
} else {
Log.d(TAG, "connectivityBroadcastReceiver.onReceive() --> SUPPRESSING UI update (since already done)");
}
}
}
};
Теперь ситуация выглядит следующим образом:
Предварительные условия:
- Wi-Fiс подключением к Интернету
- Мобильная сеть с подключением к Интернету
Шаги:
- Подключение к встроенному устройству -> Wi-Fi без internet
- Я получаю изменение подключения после отключения от Wi-Fi через Интернет, но я никогда не получаю другое изменение подключения для установленного подключения к встроенному устройству (поскольку у меня все еще естьдействительное подключение к интернету в мобильной сети?)
Если я отключу мобильную сеть, все будет нормально.
Кто-нибудь может помочь?
(Это связано с моимпредыдущий вопрос здесь: Как проверить соединение Wi-Fi (SSID) при одновременном подключении к MOBILE на Android )