【问题标题】:Change proxy and IP settings for a SSID in android在 android 中更改 SSID 的代理和 IP 设置
【发布时间】:2016-03-31 06:06:01
【问题描述】:

我必须从我的 Android 手机连接到路由器,有时需要使用代理和 IP 设置,有时不需要它们。所以我决定用一个应用程序自动化整个过程。

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

有什么方法可以做到这一点。此外,我只想更改单个网络 SSID 的这些设置。我使用的是 Android 5.1 操作系统。

【问题讨论】:

    标签: android proxy android-wifi wifimanager wifi


    【解决方案1】:

    下面应该在 5.1 中工作。请参阅下面的页面以获取完整代码。 https://gist.github.com/madeye/4352485

    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);
    

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

    【讨论】:

    • WifiConfiguration config = new WifiConfiguration(configuration); 这个语句给出了一个不能应用的错误。甚至文档也只有默认构造函数而不是参数化的构造函数。
    • @crgarridos:您只能删除/更新通过您的 apk 添加的网络。假设您从 Phone UI wifi 设置中加入了一个 ssid。您无法从您的 apk 更新相同的 wifi ssid。
    • @ManiSankar:该示例适用于旧版本。请阅读最新文档以获取更新的 api。我记得这样的事情-WifiConfiguration conf = new WifiConfiguration();conf.SSID = String.format("\"%s\"", ssid);。类似的方式你可以设置 ipaddress。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-05
    • 1970-01-01
    • 2019-09-25
    • 2020-02-04
    • 2018-09-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多