У Android отсутствует соединение с обратным вызовом при подключении к Wi-Fi без доступа к Интернету и мобильным данным
У меня есть следующая проблема:
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 без интернета
- Я получаю изменение подключения после отключения от Wi-Fi через Интернет, но я никогда не получаю другое изменение подключения для установленного подключения к встроенному устройству (потому что у меня все еще есть действующее подключение к Интернету в мобильной сети?)
Если я отключаю мобильную сеть, все работает нормально.
Кто-нибудь может помочь?
(Это связано с моим предыдущим вопросом: как проверить соединение Wi-Fi (SSID) при одновременном подключении к MOBILE на Android)