在android中更改SSID的代理和IP设置

在android中更改SSID的代理和IP设置,android,proxy,android-wifi,wifimanager,wifi,Android,Proxy,Android Wifi,Wifimanager,Wifi,我必须从我的android手机连接到路由器,有时带有代理和IP设置,有时没有。所以我决定用一个应用程序自动化整个过程 我搜索了android API文档,找到了可以完成这项工作的WifiManager类的updateNetwork(WifiConfiguration config)方法。但是问题是,WifiConfiguration没有任何方法来设置代理或IP设置 有没有办法做到这一点。此外,我只想更改单个网络SSID的设置。我使用的是安卓5.1操作系统。下面的应该在5.1中使用。有关完整代码,

我必须从我的android手机连接到路由器,有时带有代理和IP设置,有时没有。所以我决定用一个应用程序自动化整个过程

我搜索了android API文档,找到了可以完成这项工作的
WifiManager
类的
updateNetwork(WifiConfiguration config)
方法。但是问题是,
WifiConfiguration
没有任何方法来设置代理或IP设置


有没有办法做到这一点。此外,我只想更改单个网络SSID的设置。我使用的是安卓5.1操作系统。

下面的应该在5.1中使用。有关完整代码,请参阅下页。


但对于Android 6.0,您只能更新您创建的网络。

WifiConfiguration config=new-WifiConfiguration(配置)此语句出现无法应用的错误。即使文档中也只有默认的构造函数,而不是参数化的构造函数。@crgarridos:您只能删除/更新通过apk添加的网络。假设您通过手机UI wifi设置加入了一个ssid。无法从apk更新相同的wifi ssid。@ManiSankar:此示例适用于旧版本。请阅读最新文档以获取更新的API。我记得类似这样的事情-
WifiConfiguration conf=new-WifiConfiguration();conf.SSID=String.format(“\%s\”,SSID)。类似的方法可以设置ipaddress。
WifiConfiguration config = new WifiConfiguration(configuration);
config.ipAssignment = WifiConfiguration.IpAssignment.UNASSIGNED;
config.proxySettings = WifiConfiguration.ProxySettings.STATIC;
config.linkProperties.clear();

config.linkProperties.setHttpProxy(new ProxyProperties("127.0.0.1", port, ""));
manager.updateNetwork(config);