Проблема Программно подключиться к Wi-Fi, если Настройка> Подключения> Расположение было переключено на устройстве Samsung - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть приложение, которое программно подключается к известной сети Wi-Fi и проверяет, что оно подключено к правильному SSID.Обычно это работает нормально;однако я нашел способ вызвать его сбой, по крайней мере, на некоторых устройствах Samsung.

В настройках в разделе Samsung Experience / TouchWiz, называемом «Подключения», есть переключатель, называемый Location (Allow apps and services to determine your location). Если я переключаюэто, а затем попробуйте и программно подключиться в моем приложении, я не могу успешно подключиться / проверить, что я подключился к правильному SSID.Тем не менее, если я вручную подключаюсь к сети Wi-Fi, а затем пытаюсь подключиться программным путем, это успешно.Это также успешно, если в недавней истории я не переключал разрешения на местоположение.

Кажется, что я нашел ошибку и обходной путь, но я просто пытаюсь обернуть голову, как это может бытьвещь.Я знаю, что для проверки сетей Wi-Fi требуются разрешения на местоположение, поскольку SSID можно использовать для определения местонахождения пользователя.Тем не менее, не имеет значения, находится ли параметр Samsungs> Подключения> Местоположение во включенном или выключенном положении, поскольку я могу программно подключаться, пока пользователь предоставил приложению разрешение на местоположение &&, подключенное к SSID вручную после любого переключенияпереключателя широкого местоположения для определенной системы Samsung.

Это видно на Samsung S9 с Android 8.0.0 и Samsung Experience 9.0.

Я ожидаю, что местоположения в широком диапазоне системы Samsung будут иметь приоритетнад приложением - одно означает, что я могу подключиться к Wi-Fi, когда он включен, и не могу подключиться, когда он выключен, или разрешений приложения, имеющих приоритет, и это не имеет никакого эффекта.Кроме того, я мог видеть, что это не имеет никакого эффекта, поскольку мне фактически не нужно само местоположение, мне просто нужно разрешение, чтобы проверить, какие сети Wi-Fi доступны и к чему я подключен.

Однако по какой-то причине его переключение нарушает мою способность подключиться / проверить, что я успешно подключился.Подключение к любой сети Wi-Fi вручную, кажется, исправляет мою способность программно подключать / проверять соединение, что может указывать на то, что эта проблема может быть связана с измененным кодом Android от Samsung, который нарушает некоторые настройки / поведение по умолчанию в модуле Wi-Fi при переключении местоположения и что подключение кновый SSID сбрасывает это?

Обновление: это, похоже, не ограничивается устройствами Samsung, а просто переключением разрешений местоположения в настройках или в приложении, но происходит, только если телефон НЕ подключен к Wi-Fiсеть, когда разрешение переключено.Если телефон подключен к сети Wi-Fi при изменении разрешения, то ничего негативного не происходит.

...