Я создаю приложение Cordova, которому необходимо получить доступ к WiFi на Android и отключить текущую подключенную сеть, чтобы предотвратить автоматическое отключение от сети, к которой я подключаюсь (поскольку нет Интернета).
Проблема в том, что при тестировании на Android Oreo 8.0+ я получаю эту ошибку в adb logcat
и не могу понять, что мне нужно сделать, чтобы это исправить:
E/WifiConfigManager: UID 10315 does not have permission to update configuration "Test SSID"WPA_PSK
E/WifiStateMachine: Failed to disable network
Это разрешения, перечисленные в манифесте:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.OVERRIDE_WIFI_CONFIG" />
<uses-permission android:name="android.permission.INTERNET" />
Пермь OVERRIDE_WIFI_CONFIG
, которую я нашел в этом посте, но, похоже, не помогает в моей конкретной ситуации: настройки точки доступа
Я обнаружил эту конкретную ошибку в этом файле: https://android.googlesource.com/platform/frameworks/opt/net/wifi/+/master/service/java/com/android/server/wifi./WifiConfigManager.java#984
Который вызывает canModifyNetwork
, который я нашел здесь: https://android.googlesource.com/platform/frameworks/opt/net/wifi/+/master/service/java/com/android/server/wifi/WifiConfigManager..java#651
Может ли кто-нибудь, более опытный в Android, помочь мне решить эту проблему, и что нужно сделать, чтобы мое приложение могло отключать сети?
Означает ли это, что приложениям не разрешено отключать сеть, если она не была создана приложением?? Пожалуйста, помогите, я не знаю, куда идти отсюда!
Я также нашел этот пост, в котором упоминается 6.0, но правда ли, что мы в основном полностью заблокированы от отключения сетей, которые мы не создавали? Android 6.0 Невозможно добавить WifiConfiguration, если есть уже другая конфигурация Wifi для этого SSID