通过WifiManager,DhcpInfo获取android IP地址及网关等信息(两种方式)
来源:互联网 发布:韩剧秘密知乎 编辑:程序博客网 时间:2024/05/29 18:38
方式一:
import java.net.InetAddress;import java.net.NetworkInterface;import java.net.SocketException;import java.util.Enumeration;//不适用android较新版本(例如4.0等)public String getLocalIpAddress() { try { for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { NetworkInterface intf = en.nextElement(); for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) { InetAddress inetAddress = enumIpAddr.nextElement(); if (!inetAddress.isLoopbackAddress()) { return inetAddress.getHostAddress().toString(); } } } } catch (SocketException ex) { System.out.println(ex.toString()); } return null; }
但是经过测试该方法在android2.3, 2.2...较老版本有效,但是在android较新版本(例如4.0等)获取的数据不正确。
方式二: 通过WifiManager, DhcpInfo获取IP地址以及网关等信息(在android4.0等版本也适用)
package com.jason.demo.androidip;import android.content.Context;import android.net.DhcpInfo;import android.net.wifi.WifiInfo;import android.net.wifi.WifiManager;import android.text.format.Formatter;public class IPAddress {public String getIPAddress(Context ctx){WifiManager wifi_service = (WifiManager) ctx.getSystemService(Context.WIFI_SERVICE);DhcpInfo dhcpInfo = wifi_service.getDhcpInfo();WifiInfo wifiinfo = wifi_service.getConnectionInfo();System.out.println("Wifi info----->"+wifiinfo.getIpAddress());System.out.println("DHCP info gateway----->"+Formatter.formatIpAddress(dhcpInfo.gateway));System.out.println("DHCP info netmask----->"+Formatter.formatIpAddress(dhcpInfo.netmask));//DhcpInfo中的ipAddress是一个int型的变量,通过Formatter将其转化为字符串IP地址return Formatter.formatIpAddress(dhcpInfo.ipAddress);}}
加入permission
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
- 通过WifiManager,DhcpInfo获取android IP地址及网关等信息(两种方式)
- 通过WifiManager,DhcpInfo获取android IP地址及网关等信息(两种方式)
- VC获取本机IP、子网掩码、网关、计算广播地址等信息代码(通过读注册表)
- android获取ip地址两种方式
- 通过WifiManager获取本机的IP地址
- Android设备信息IP地址等获取
- android获取wifi的IP,子网掩码,网关,dns等信息
- android获取wifi的IP,子网掩码,网关,dns等信息
- android获取wifi的IP,子网掩码,网关,dns等信息
- Android 获取手机IP地址的两种方式及常见问题
- android手机两种方式获取IP地址
- android手机两种方式获取IP地址
- android手机两种方式获取IP地址
- android手机两种方式获取IP地址
- Android开发,获取手机IP地址的两种方式
- Android手机两种方式获取IP地址
- android手机两种方式获取IP地址
- android手机两种方式获取IP地址
- PostgreSQL TPC-H测试
- 【学习笔记】JavaScript(2013-10-06)
- POj 3041 Asteroids 最小点覆盖
- 常量折叠 Constant folding
- 递归和非递归方法打印螺旋矩阵
- 通过WifiManager,DhcpInfo获取android IP地址及网关等信息(两种方式)
- A BIG CHALLENGE
- CMPP协议发送超长短信息
- 血量条的制作
- CentOS 挂载 NTFS格式的硬盘
- sgu 422 Fast Typing 概率题DP
- java基础入门---- FileWriter1
- Android APK 签名比对
- Music Player Daemon移植到嵌入式系统[一]