【发布时间】:2019-07-31 13:18:39
【问题描述】:
我需要将带有代理设置的 WifiConfiguration 添加到 WifiManager。 当我不使用 sethttpProxy(我根本不添加代理)时,我可以成功添加配置,但是当我使用方法 wifiConfiguration.sethttpProxy() 然后 addNetwork(wifiConfiguration) 时,没有添加网络配置。
我已经在具有不同配置的物理设备上进行了尝试,现在我正在模拟器上进行测试。模拟器有一个默认的 Wi-Fi 网络 AndroidWifi,我正在尝试为其添加配置。在我尝试之前,我使用系统菜单删除了所有“已保存的网络”,以确保我的应用可以创建和编辑此配置。
WifiConfiguration configuration = new WifiConfiguration();
configuration.SSID = "\"" + ssid + "\"";
configuration.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
configuration.setHttpProxy(ProxyInfo.buildDirectProxy(proxyData.proxy_host,
proxyData.proxy_port, proxyData.proxy_exception));
wifiManager.addNetwork(configuration);
addNetwork 返回 -1,我收到类似的错误
E/WifiConfigManager:UID 10086 无权修改代理设置“AndroidWifi”NONE。必须具有 NETWORK_SETTINGS,或者是设备或配置文件所有者。 E/WifiConfigManager: 添加/更新网络 AndroidWifi 失败
【问题讨论】:
标签: java android proxy wifimanager wifi