@trbrmrdr

Доступ в сеть через gsm при подключённой wifi точке без сети на Android 10?

Есть Android и устройство, с подключением через wifi. (в самому устройстве нет доступа к enthernet)
При подключении к ней, в Android нет сети, для доступа к серверу.
Я обошёл проблему - подключаясь к устройству и отключаясь. А после соединялся с сервером.
Вышел Android 10 - и теперь нельзя отключится от сети (я отключал wifi модуль).
Сам процесс подключения и отключения должен происходить автоматически без ведома пользователя!
Как можно получить доступ в сеть без отключения от wifi, в которой нет доступа к ethernet?
В gsm есть доступ к сети - я ничего не нашёл, на эту тему.
  • Вопрос задан
  • 271 просмотр
Решения вопроса 1
@trbrmrdr Автор вопроса
В WiFi сети нет доступа в интернет - так специально.
Решение нашёл.
Сперва запрашиваем доступ на использование wifi -
val networkRequest = NetworkRequest.Builder()
                .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
                .removeCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
                .setNetworkSpecifier(
                        WifiNetworkSpecifier.Builder()
                                .setSsid(ssid)
                                .setWpa2Passphrase(pass)
                                .build()
                )
                .build()
...

После запрашиваем доступ на использование интернета
и используем его для проверки доступа
val request = NetworkRequest.Builder()
                .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR)
                .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
                .build()

        _cm.registerNetworkCallback(request, object : ConnectivityManager.NetworkCallback() {
            override fun onAvailable(network: Network) {
                if (server_test(network))
                    _cm.bindProcessToNetwork(network)

                LogUtils.i("onAvailable")
            }
}
...


В итоге имеем Wifi - ip через broadcast
и доступ в сеть
доступ в сеть после доступна на всём устройстве - ранее же, на всём Android устройстве сеть блочилась и ничего не работало.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Risurects
Довольно сложно вы конечно описали проблему, долго не мог понять что не работает и что нужно.
Попробуйте в разделе "Для разработчиков" найти и включить настройку "Не отключать передачу данных".
(на скриншоте внизу)
spoiler
5fba212292815792043061.jpeg
Ответ написан
@rPman
Все зависит от того, что значит
При подключении к ней, в Android нет сети, для доступа к серверу.

Почему при физическом переподключении wifi чинится тем более непонятно, но причины однозначно нужно искать в роутере.

Могу предположить что wifi настроен неправильно (или специально так) и не выдают все необходимые данные типа шлюза или dns (хотя android могут автоматом брать гугловский 8.8.8.8, но если у вас своя сеть и внутренний, не выходящий наружу dns, то, логично, гугл про него не знает и не работает как ожидается)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы