У 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 с подключением к интернету
  • Мобильная сеть с подключением к интернету

шаги:

  1. Подключиться к моему встроенному устройству -> Wi-Fi без интернета
  2. Я получаю изменение подключения после отключения от Wi-Fi через Интернет, но я никогда не получаю другое изменение подключения для установленного подключения к встроенному устройству (потому что у меня все еще есть действующее подключение к Интернету в мобильной сети?)

Если я отключаю мобильную сеть, все работает нормально.

Кто-нибудь может помочь?

(Это связано с моим предыдущим вопросом: как проверить соединение Wi-Fi (SSID) при одновременном подключении к MOBILE на Android)

0 ответов

Другие вопросы по тегам