Приемник вещания работает непостоянно - не регистрируется подключение к мобильной сети

У меня есть BroadcastReceiver, Когда мой телефон не подключен ни к Wi-Fi, ни к мобильным данным, а затем продолжает получать мобильное соединение, BroadcastReceiver в большинстве случаев onReceive и выведите "Connected" в logcat. Но иногда BroadcastReceiver не буду звонить onReceive когда мой телефон получает мобильную связь.

Вот код:

 private val networkReciever = object : BroadcastReceiver() {
        val debugtag = "VED-APP"
        override fun onReceive(context: Context?, intent: Intent?) {
            Log.d(debugtag, "Network state change...")

            (context?.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager).activeNetworkInfo?.let {
                if(it.isConnectedOrConnecting) {
                    Log.d(debugtag,"Connected")
                    //TODO - Ping server
                    return
                }
            }
            Log.d(debugtag, "Disconnected")
            //Assign internet connection as false.
        }

    }

внутри onStartInputView (это приложение для клавиатуры):

    val filter = IntentFilter()
    filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION)
    registerReceiver(networkReciever, filter)

внутри onFinishInputView:

unregisterReceiver(networkReciever)

0 ответов