Android获取手机IP地址 WIFI MAC地址

  1. 获取手机IP地址

第一步:添加权限

<uses-permission android:name="android.permission.INTERNET"/>

第二步:上代码
2333

 private String getIP() {
        String IP = "";
        StringBuilder IPStringBuilder = new StringBuilder();
        try {
            Enumeration<NetworkInterface> networkInterfaceEnumeration = NetworkInterface.getNetworkInterfaces();
            while (networkInterfaceEnumeration.hasMoreElements()) {
                NetworkInterface networkInterface = networkInterfaceEnumeration.nextElement();
                Enumeration<InetAddress> inetAddressEnumeration = networkInterface.getInetAddresses();
                while (inetAddressEnumeration.hasMoreElements()) {
                    InetAddress inetAddress = inetAddressEnumeration.nextElement();
                    if (!inetAddress.isLoopbackAddress()
                            && !inetAddress.isLinkLocalAddress()
                            && inetAddress.isSiteLocalAddress()) {
                        IPStringBuilder.append(inetAddress.getHostAddress().toString() + "\n");
                    }
                }
            }
        } catch (SocketException ex) {
        }
        IP = IPStringBuilder.toString();
        if (IP.indexOf("\n1") > 0) {
            IP = IP.substring(0, IP.indexOf("\n1"));
        }
            //返回一个XXX.XXX.xxx.xxx格式的IP地址
        return IP;
    }
  1. 获取MAC地址

获取MAC地址。是通过WIFIManager获取的。

WifiManager WiFi = (WifiManager)getSystemService(Context.WIFI_SERVICE);
WifiInfo info = WiFi.getConnectionInfo();
//通过wifiinfo获取获取到MAC地址了
 String ssid = (info .getSSID() == "<unknown ssid>" ? "无连接WIFI" : info .getSSID());
                if (!CommonUtils.isEmpty(ssid)) {
                    ToastShow.showToast("正在连接:" + ssid);
                    String data=
                                     "MAC地址 = "+info .getMacAddress()+"\n"
                                    +"信号强度 = "+info .getRssi()+"\n"
                                    +"正在连接 = "+ ssid +"\n"
                                    +"getBSSID = "+info .getBSSID()+"\n";

其中getSSID得到的是连接到WIFI的名字。getBSSID得到的是十六进制字符串?有知道的同志留言评论的告诉我一下呗。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值