zoukankan      html  css  js  c++  java
  • Android -- 获取IP和MAC地址

    通过InetAddress.getLocalHost()得到始终是“127.0.0.1”,要想得到真正的网络ip地址要通过下面的方法:

    首先新建一个工程,修改AndroidManifest.xml文件增加用户权限,如下:

    <uses-permission android:name="android.permission.INTERNET"/>   <!--必写-->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>  <!--必写—>
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

    主要函数代码如下:

    // 得到本机ip地址
        public String getLocalHostIp()
        {
            String ipaddress = "";
            try
            {
                Enumeration<NetworkInterface> en = NetworkInterface
                        .getNetworkInterfaces();
                // 遍历所用的网络接口
                while (en.hasMoreElements())
                {
                    NetworkInterface nif = en.nextElement();// 得到每一个网络接口绑定的所有ip
                    Enumeration<InetAddress> inet = nif.getInetAddresses();
                    // 遍历每一个接口绑定的所有ip
                    while (inet.hasMoreElements())
                    {
                        InetAddress ip = inet.nextElement();
                        if (!ip.isLoopbackAddress()
                                && InetAddressUtils.isIPv4Address(ip
                                        .getHostAddress()))
                        {
                            return ipaddress = "本机的ip是" + ":" + ip.getHostAddress();
                        }
                    }
    
                }
            }
            catch (SocketException e)
            {
                Log.e("feige", "获取本地ip地址失败");
                e.printStackTrace();
            }
            return ipaddress;
    
        }
    
        // 得到本机Mac地址
        public String getLocalMac()
        {
            String mac = "";
            // 获取wifi管理器
            WifiManager wifiMng = (WifiManager) getSystemService(Context.WIFI_SERVICE);
            WifiInfo wifiInfor = wifiMng.getConnectionInfo();
            mac = "本机的mac地址是:" + wifiInfor.getMacAddress();
            return mac;
        }

    我是天王盖地虎的分割线                                                                 

    源代码:http://pan.baidu.com/s/1dD1Qx01

    获取MAC地址.zip

    转载请注明出处:http://www.cnblogs.com/yydcdut/p/3759968.html

    参考:http://blog.sina.com.cn/s/blog_7ffb8dd501012z0v.html

  • 相关阅读:
    ASP.NET vs MVC vs WebForms
    asp.net web forms和asp.net mvc比较
    cxx11emu.h 和 logprint.h
    获取代码中宏定义等信息的一些手段
    openwrt luci web分析
    QSDK与OPENWRT区别
    OpenWrt 中查看 Flash RAM CPU 信息
    深入剖析Linux IO原理和几种零拷贝机制的实现
    Linux ass2srt
    bsd pkg install gcc gmake cmake gdb cgdb
  • 原文地址:https://www.cnblogs.com/yydcdut/p/3759968.html
Copyright © 2011-2022 走看看