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

У меня есть приложение, которое программно подключается к известной сети 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 при изменении разрешения, то ничего негативного не происходит.

0 ответов

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