Wie kann ich ProxySettings und ProxyProperties auf Android Wi-Fi-Verbindung mit Java?

Wie kann ich ProxySettings und ProxyProperties auf ein Android-Wi-Fi-Verbindung über Java (programmgesteuert)?

Als ipAssignment, linkProperties, ProxySettings und ProxyProperties sind versteckte Felder in WifiConfiguration auf Android 3.1 und höher, ich muss in der Lage sein, um die enum-Klasse, und verwenden Sie die Felder.

Folgenden wird der Beispielcode über den link unten kann ich eine statische IP-Adresse, gateway und DNS für einen bestimmten Wi-Fi-Verbindung, aber ich muss auch festgelegt Wificonfiguration.ProxySettings.STATISCHE und ProxyProperties

Finden Sie unter Stack Overflow Frage Wie configue eine statische IP-Adresse, Netzmaske, gateway programmgesteuert auf Android 3.x oder 4.x.

Beispielsweise

WifiConfiguration config = new WifiConfiguration(configuration);
config.ipAssignment = WifiConfiguration.IpAssignment.UNASSIGNED;
config.proxySettings = WifiConfiguration.ProxySettings.STATIC;
config.linkProperties.setHttpProxy(new ProxyProperties("127.0.0.1", 3128, ""));

Suche nach etwas wie:

setProxySettings("STATIC", wifiConf);
setProxyProperties("proxyserver.mine.com.au", 8080, ""); //Set Proxy server and port.
wifiManager.updateNetwork(wifiConf); //apply the setting

Verwenden Sie den folgenden code aus coolypf .ipAssignment .ProxySettings und linkProperties versteckt sind...

    WifiManager manager = (WifiManager)getSystemService(Context.WIFI_SERVICE);
manager.asyncConnect(this, new Handler());
if (!manager.isWifiEnabled()) return;
    List<WifiConfiguration> configurationList = manager.getConfiguredNetworks();
    WifiConfiguration configuration = null;
    int cur = manager.getConnectionInfo().getNetworkId();
    for (int i = 0; i < configurationList.size(); ++i)
    {
        WifiConfiguration wifiConfiguration = configurationList.get(i);
        if (wifiConfiguration.networkId == cur)
        configuration = wifiConfiguration;
    }
    if (configuration == null) return;
    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", 3128, ""));

    manager.saveNetwork(config);

InformationsquelleAutor user1681648 | 2012-09-18

Schreibe einen Kommentar