Android下用代码设置静态IP地址的方法(完美支持Android2.X,Android3.X,Android4.X)

	private void setIpWithTfiStaticIp() {

  WifiConfiguration wifiConfig;

  WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);   WifiInfo connectionInfo = wifiManager.getConnectionInfo();   List<WifiConfiguration> configuredNetworks = wifiManager     .getConfiguredNetworks();   for (WifiConfiguration conf : configuredNetworks) {    if (wifiConf.networkId == connectionInfo.getNetworkId()) {     WifiConf = conf;     break;    }   }


		if (android.os.Build.VERSION.SDK_INT < 11) { // 如果是android2.x版本的话
			
			ContentResolver ctRes = context.getContentResolver();
			Settings.System.putInt(ctRes, Settings.System.WIFI_USE_STATIC_IP, 1);
			Settings.System.putString(ctRes, Settings.System.WIFI_STATIC_IP, "192.168.0.202");
			Settings.System.putString(ctRes, Settings.System.WIFI_STATIC_NETMASK, "255.255.255.0");
			Settings.System.putString(ctRes, Settings.System.WIFI_STATIC_GATEWAY, "192.168.0.1");
	        Settings.System.putString(ctRes, Settings.System.WIFI_STATIC_DNS1, "192.168.0.1"); 
	        Settings.System.putString(ctRes, Settings.System.WIFI_STATIC_DNS2, "61.134.1.9"); 
			

		} else { // 如果是android3.x版本及以上的话
			try {
				setIpAssignment("STATIC", wifiConfig); 
				setIpAddress(InetAddress.getByName("192.168.0.202"), 24, wifiConfig);
				setGateway(InetAddress.getByName("192.168.0.1"), wifiConfig);
				setDNS(InetAddress.getByName("192.168.0.1"), wifiConfig);
				wifiManager.updateNetwork(wifiConfig); // apply the setting
				System.out.println("静态ip设置成功!");
			} catch (Exception e) {
				e.printStackTrace();
				System.out.println("静态ip设置失败!");
			}
		}

	}


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值