Android获取ip地址

来源:互联网 发布:女神异闻录5音乐 知乎 编辑:程序博客网 时间:2024/05/16 08:19

使用时代码

WifiManager wifi = (WifiManager) getSystemService(this.WIFI_SERVICE);        DhcpInfo d = wifii.getDhcpInfo()        String s_dns1 = "DNS 1: " + IPresolver.getStringIp(d.dns1);        String s_dns2 = "DNS 2: " + IPresolver.getStringIp(d.dns2);        String s_gateway = "Default Gateway: " + IPresolver.getStringIp(d.gateway);        String s_ipAddress = "IP Address: " + IPresolver.getStringIp(d.ipAddress);        String s_leaseDuration = "Lease Time: "``                + IPresolver.getStringIp(d.leaseDuration);        String s_netmask = "Subnet Mask: " + IPresolver.getStringIp(d.netmask);        String s_serverAddress = "Server IP: "                + IPresolver.getStringIp(d.serverAddress);        Log.v("luo", "Network Info\n" + s_dns1 + "\n" + s_dns2 + "\n"                + s_gateway + "\n" + s_ipAddress + "\n" + s_leaseDuration                + "\n" + s_netmask + "\n" + s_serverAddress);

解析ip代码

public class IPresolver {    public static String getStringIp(int ip) {        String res = "";        res = Integer.toBinaryString(ip);        if (res.length() < 32) {            if((32-res.length())>8){                return ""+ip;            }            for (int i = 0; i < (32 - res.length()); i++) {                res = "0" + res;            }        }        return "" + getIntIp(res.substring(0, 8)) + "."                + getIntIp(res.substring(8, 16)) + "."                + getIntIp(res.substring(16, 24)) + "."                + getIntIp(res.substring(24));    }    public static int getIntIp(String ip) {        int res = Integer.parseInt(ip, 2);        return res;    }}

权限

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
0 0