我正在处理需要在有效Wi-Fi连接上更改DNS服务器的应用。
我获得了WiFiConfiguration
个有效WiFi
连接的对象,而且我知道Java linkProperties
的{{1}}属性。但Mono的WiFiConfiguration
不包含此功能;因为它可以解决这种情况吗?
答案 0 :(得分:0)
没有API,但你可以使用反射来做黑客攻击。无法保证这将起作用
public static void setDNS(InetAddress dns, WifiConfiguration wifiConf)
throws SecurityException, IllegalArgumentException, NoSuchFieldException, IllegalAccessException{
Object linkProperties = getField(wifiConf, "linkProperties");
if(linkProperties == null)return;
ArrayList<InetAddress> mDnses = (ArrayList<InetAddress>)getDeclaredField(linkProperties, "mDnses");
mDnses.clear(); //or add a new dns address , here I just want to replace DNS1
mDnses.add(dns);
}