网上大部分设置WIFI静态IP的方法,以前的代码我也是这样写的都没什么问题,但是在一个7.1的平板上再用到下面的代码就会报错:
WifiUtils.setIpAssignment("STATIC", wifiConfig);
public static void setIpAssignment(String assign, WifiConfiguration wifiConf)
throws SecurityException, IllegalArgumentException, NoSuchFieldException, IllegalAccessException {
setEnumField(wifiConf, assign, "ipAssignment");//
}
public static void setEnumField(Object obj, String value, String name)
throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
Log.e("setEnumField","obj :"+obj+"111 name:"+name+"111");
Field fields[] = obj.getClass().getDeclaredFields();
for (int a= 0;a<fields.length;a++){
Log.e("getFields","s :"+fields[a].getName());
}
Field f = obj.getClass().getDeclaredField(name);
f.set(obj, Enum.valueOf((Class<Enum>) f.getType(), value));
}
打印结果getFields这并没有“ipAssignment”这个,但是在之前的设备上是有的,请教一下6.0以后的系统有什么变化吗?还是我写的哪里出了问题?