android获取wifi的IP,子网掩码,网关,dns等信息

2023-05-16

使用 DhcpInfo 获取这些信息,返回的是一个int型数据,转换下得到想要的信息,代码如下:

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();
        }
    }


附件下载:

http://download.csdn.net/detail/ttdevs/5805127

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android获取wifi的IP,子网掩码,网关,dns等信息 的相关文章

随机推荐

  • WSL:访问Windows目录

    Time xff1a 20190704 Env xff1a WSL Ubuntu 在Windows的WSL中访问Windows的目录 span class token function cd span mnt 可以看到盘符 进入之后就可以访
  • ExpRe[18] 手动构建Docker镜像[1] 指定cuda、python包版本

    文章目录 指定cuda版本准备miniconda创建环境 xff0c 指定包版本使用 96 git clone b 96 指定分支并安装 总结和问答练习 时效性 本篇撰写时间为2021 12 9 xff0c 由于计算机技术日新月异 xff0
  • 资料分享:TI AM5708平台特点和典型应用

    此文章原创来源于 xff1a 创龙电子 产品简介 xff1a AM5708开发板是一款由创龙基于TI AM570x浮点DSP C66x 43 ARM Cortex A15工业控制及可编程音视频处理器 由SOM TL570x核心板设计的开发板
  • Linux系统的休眠与唤醒简介

    转文地址 xff1a http blog 163 com jiaguang3010717 64 126 blog static 1268082432010310103037253 系统挂起 xff08 Suspend xff09 是电源管理
  • intellij idea cpu占用率太大太满 运行速度太慢 使了五个解决方法最终成功

    突然发现 xff0c intellij idea 特别卡 xff0c 在代码间移动的时候 xff0c 居然刷新都跟不上 xff0c 然后打开任务管理器一看 xff0c CPU占用率100 intellij idea自己一个程序的占用率就高达
  • Ubuntu21.04安装cuda10.2和cudnn

    系统 xff1a Ubuntu21 04 显卡 xff1a NVIDIA 1080Ti cuda是NVIDIA公司设计用来加速GPU训练的 xff0c 而cudnn则是可以把cuda应用到深度学习领域 xff0c 如果想用GPU跑深度神经网
  • 基于C语言的状态机实现技术

    一 简介 有限状态机是一种用来进行对象行为建模的工具 xff0c 其作用主要是描述对象在它的生命周期内所经历的状态序列 xff0c 以及如何响应来自外界的各种事件 有限状态机 xff08 Finite State Machine或者Fini
  • wampserve详细安装教程(手把手教你搭建)

    前提提醒 xff1a 如果你为纯小白直接按照操作步骤进行即可 xff08 忽略进阶教程 xff09 xff0c 如果你知道进阶教程是什么可参照教程中的非小白步骤 使用前请关闭其他本地环境软件 xff0c 否则会出现冲突 该教程为本地环境搭建
  • Ubuntu18.04扩展home目录分区记录

    前言 最近Ubuntu18 04系统的home目录空间不够用了 xff0c 之前安装系统的时候 xff0c 给home分配的空间只占了根目录的很小一部分 xff0c 因此就想把根目录的空余空间转给home 涉及到系统分区调整 xff0c 因
  • 优化后亲测可用!免费下载QQ音乐大部分资源

    音乐下载器 优化后亲测可用 xff01 免费下载QQ音乐大部分资源 眼看着网上许多下歌的插件用不了了 xff0c 又不想买VIP xff0c 便非常着急 突然我想到了接口这玩意儿 xff0c 于是我 奥我真是个人才 xff01 突然我看见了
  • 自动祝福程序(定时发送消息)

    有个同学找我帮忙 xff1a 明天是她朋友的生日 xff0c 但她没时间发送祝福 xff0c 问我能不能弄个自动发送 我想 xff0c QQ并没有内置的定时发送功能 xff0c 紧接着又想起了QQ刷屏助手 xff08 见我以前的博文 xff
  • 停更

    停更CSDN CSDN是我的第一个博客 xff0c 它也很完美 xff0c 但我的博客经常没能通过它的审核 xff0c 用起来很不爽 因此 xff0c 我决定停更CSDN xff0c 以后的博客都将发布到博客园 新博客链接 https ww
  • 停更规则更新

    我觉得嘛 来这里写东西点击量更高 所以以后软件不在这里发 其他的东西我还是会更新的 xff01 另外 xff0c 我会设定从WordPress个人博客上进行博客搬家 xff0c 不过 xff0c 除了上面所谓的 其他东西 以外 xff0c
  • 免费建站记

    好久不见 xff01 另外 xff0c 我可能还会发布一篇国内操作系统的测评记录 xff08 会不会发布取决于我写不写得完 xff09 首先 xff0c 这篇文章是从我个人博客上搬运的 xff0c 所以可能有些地方会有格式上的不正确 xff
  • 如果没有Linux,这个世界会怎样?

    众所周知 xff0c Linux是一个开源的操作系统 自从它流行起来 xff0c 微软就渐渐失去了地位 Linux在我们生活中的每一处 xff0c 但是 xff0c 假如没有Linux这一些开源操作系统 xff0c 会发生什么 xff1f
  • 音乐播放器

    完善音乐下载器时找到一个音乐播放器 xff0c 自己完善了下 软件原作者 xff1a 嘟嘟还没长大 完善内容 支持文件拖动打开 支持自动获取必应每日一图并显示 随机播放支持选择路径 代码 span class token keyword i
  • Python Tkinter颜色参考程序

    这是一个颜色参考程序 xff0c Python程序员专用 点击任意颜色可以复制颜色的英文名称 已经修改前景色 xff0c 所有字都看得清 xff08 终于找到一件比肝作业更累的事情 xff09 话不多说 xff0c 贴代码 代码 span
  • 脚本控制nginx

    以下 etc init d nginx 文件的内容 bin bash nginx Startup script for the Nginx HTTP Server it is v 0 0 2 version chkconfig 85 15
  • 关于计算机系统基础debian 11安装(感觉也适用debian10啥的)

    一定要记住自己起的用户名 xff01 xff01 xff01 xff01 xff01 xff01 xff01 还要记得自己的密码 额 xff0c 这门课程需要安装virtualbox和debian xff0c 有的同学会像我一样为此苦恼 x
  • android获取wifi的IP,子网掩码,网关,dns等信息

    使用 DhcpInfo 获取这些信息 xff0c 返回的是一个int型数据 xff0c 转换下得到想要的信息 xff0c 代码如下 xff1a public class MainActivity extends Activity priva