जावा (प्रोग्रामेटिक रूप से) का उपयोग कर एंड्रॉइड वाई-फाई कनेक्शन पर मैं प्रॉक्सी सेटिंग्स और प्रॉक्सीप्रॉपर्टी कैसे सेट कर सकता हूं?जावा का उपयोग कर एंड्रॉइड वाई-फाई कनेक्शन पर मैं प्रॉक्सी सेटिंग्स और प्रॉक्सीप्रॉपर्टी कैसे सेट कर सकता हूं?
रूप ipAssignment, linkProperties, ProxySettings और ProxyProperties एंड्रॉयड 3.1 पर WifiConfiguration भीतर क्षेत्रों छिपा हुआ है और ऊपर कर रहे हैं, मैं कक्षा Enum और फ़ील्ड का उपयोग करने में सक्षम होना चाहिए।
नीचे दिए गए लिंक का उपयोग कर, मैं एक विशेष वाई-फाई कनेक्शन के लिए एक स्थिर IP पता, प्रवेश द्वार और DNS सेट कर सकते हैं, लेकिन मैं यह भी Wificonfiguration.ProxySettings.STATIC निर्धारित करने की आवश्यकता कोड नमूना और ProxyProperties बाद
देखें स्टैक ओवरफ़्लो प्रश्न How to configue a static IP address, netmask, gateway programmatically on Android 3.x or 4.x।
उदाहरण के लिए,
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, ""));
की तरह कुछ के लिए खोज रहे:
setProxySettings("STATIC", wifiConf);
setProxyProperties("proxyserver.mine.com.au", 8080, ""); // Set Proxy server and port.
wifiManager.updateNetwork(wifiConf); //apply the setting
coolypf .ipAssignment .ProxySettings और linkProperties छिपे हुए हैं से निम्नलिखित कोड का उपयोग करना ...
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);
एक बड़ा आप कार्ल धन्यवाद! :) – user1681648
आपका क्या मतलब है "सेटिंग डिस्कनेक्ट/रीकनेक्ट के साथ प्रभावी नहीं लगती हैं।" ? – David
यह एंड्रॉइड 2.3.6 पर काम नहीं कर रहा है। त्रुटि: "ऐसा कोई क्षेत्र अपवाद नहीं है" रेखा: ऑब्जेक्ट लिंकप्रॉपर्टीज = getField (config, "linkProperties"); setWifiProxySettings() –