【android获取wifi的IP,子网掩码,网关,dns等信息】赋料扬雄敌,诗看子建亲。这篇文章主要讲述android获取wifi的IP,子网掩码,网关,dns等信息相关的知识,希望能为你提供帮助。
public class MainActivity extends Activity { private WifiManager my_wifiManager; private WifiInfo wifiInfo; private DhcpInfo dhcpInfo; private TextView tvResult; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); my_wifiManager = ((WifiManager) getSystemService("wifi")); dhcpInfo = my_wifiManager.getDhcpInfo(); wifiInfo = my_wifiManager.getConnectionInfo(); tvResult = (TextView) findViewById(R.id.tvResult); } @Override protected void onResume() { super.onResume(); StringBuilder sb = new StringBuilder(); sb.append("网络信息:"); sb.append("\nipAddress:" + intToIp(dhcpInfo.ipAddress)); sb.append("\nnetmask:" + intToIp(dhcpInfo.netmask)); sb.append("\ngateway:" + intToIp(dhcpInfo.gateway)); sb.append("\nserverAddress:" + intToIp(dhcpInfo.serverAddress)); sb.append("\ndns1:" + intToIp(dhcpInfo.dns1)); sb.append("\ndns2:" + intToIp(dhcpInfo.dns2)); sb.append("\n"); System.out.println(intToIp(dhcpInfo.ipAddress)); System.out.println(intToIp(dhcpInfo.netmask)); System.out.println(intToIp(dhcpInfo.gateway)); System.out.println(intToIp(dhcpInfo.serverAddress)); System.out.println(intToIp(dhcpInfo.dns1)); System.out.println(intToIp(dhcpInfo.dns2)); System.out.println(dhcpInfo.leaseDuration); sb.append("Wifi信息:"); sb.append("\nIpAddress:" + intToIp(wifiInfo.getIpAddress())); sb.append("\nMacAddress:" + wifiInfo.getMacAddress()); tvResult.setText(sb.toString()); } private String intToIp(int paramInt) { return (paramInt & 0xFF) + "." + (0xFF & paramInt > > 8) + "." + (0xFF & paramInt > > 16) + "." + (0xFF & paramInt > > 24); } }
效果例如以下:
文章图片
备注:
android.net.NetworkUtils
/** * Convert a IPv4 address from an integer to an InetAddress. * @param hostAddress an int corresponding to the IPv4 address in network byte order */ public static InetAddress intToInetAddress(int hostAddress) { byte[] addressBytes = { (byte)(0xff & hostAddress), (byte)(0xff & (hostAddress > > 8)), (byte)(0xff & (hostAddress > > 16)), (byte)(0xff & (hostAddress > > 24)) }; try { return InetAddress.getByAddress(addressBytes); } catch (UnknownHostException e) { throw new AssertionError(); } }
推荐阅读
- Android下拉快捷设置面板添加快捷开关流程
- Android ListView动画实现方法
- androidclient和站点数据交互的实现(基于Http协议获取数据方法)
- HTML5 开发APP(头部和底部选项卡)
- Android性能优化系列---管理你的app内存
- 关于Android6.0权限的学习
- Android App内存优化之图片优化
- Android常见内存泄露,学会这六招优化APP性能
- 关于安装black apple遇到的坑