需要加入以下权限
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />

代码

import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;

import android.app.Activity;
import android.content.Context;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.widget.TextView;

public class MainActivity extends Activity {

public static String hostip;             //本机IP
    public static String hostmac;            //本机MAC

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        TextView tv = (TextView) findViewById (R.id.hello);
        
        hostip = getLocalIpAddress();  //获取本机IP
        hostmac = getLocalMacAddress();//获取本机MAC
        /* 本机IP和MAC */
        tv.setText ("HostIP:" + hostip + "\nHostMAC:" + hostmac);
        /* 打印本机IP和MAC */
        if (hostip != null)
        {
            Log.d ("GetIPMAC", hostip);
        }
        else
        {
            Log.d ("GetIPMAC", "null");
        }
        Log.d ("GetIPMAC", hostmac);

}

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    
    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)
        {
            Log.e ("WifiPreference IpAddress", ex.toString() );
        }
        return null;
    }
 
    public String getLocalMacAddress()
    {
        WifiManager wifi = (WifiManager) getSystemService (Context.WIFI_SERVICE);
        WifiInfo info = wifi.getConnectionInfo();
        return info.getMacAddress();
    }

}

Android_获取手机IP和MAC地址相关推荐

  1. ASP.NET获取客户端IP及MAC地址

    ASP.NET获取客户端IP及MAC地址 2008-12-01 14:50 ASP.NET获取客户端IP及MAC地址很多时候非常必要的,像做投票.留言.评论 等系统的时候防止别人恶意操作,导致数据的虚 ...

  2. java自动获取ip_java自动获取电脑ip和MAC地址

    java自动获取电脑ip和MAC地址 利用getLocalHost获得计算机名称和ip getByInetAddress可以确定一个IP地址属于哪一个网络接口,这个IP地址通过命令行参数传入 用get ...

  3. android 访问内网ip_android 获取局域网IP与MAC 地址 毫秒级(详解)

    两个 linux命令 开始理清思路:主要使用 linux 两个命令(2017-07-21 fix:这个思路不好,后面使用udp取代[毫秒级]) [ping]: 查询某个ip是否被设备占用 [cat]  ...

  4. 获取客户端IP和MAC地址

    小编是菜鸟,这两天拿到一个需求,登录时判断ip地址是否允许登录,这几天做下来小编遇见了好多坑,给大家分享一下. 系统架构:.net+java 首先,不管怎么样http请求头才是获取ip地址的唯一方式: ...

  5. python获取计算机IP、mac地址、计算机名

    在python中获取ip地址和在php中有很大不同,在php中往往比较简单.那再python中怎么做呢? 我们先来看一下python 获得本机MAC地址: import uuid def get_ma ...

  6. C#获取电脑IP、MAC地址示例代码

    /// <summary> /// 使用 C# 自带的类库实现计算机信息获取 /// </summary> public class DefaultDeviceInfo { p ...

  7. mac asp.net 服务器文件路径,asp.net如何获取服务器ip与mac地址

    使用DNS方法获取服务器的IP地址: 复制代码 代码示例: private void ButtonIP_Click(object sender, System.EventArgs e) { Syste ...

  8. Java获取局域网中所有ip和Mac地址

    Java获取局域网中所有ip和Mac地址 定义一个Util public class IpAndMacUtil {/*** 获取本机Mac地址* @param ia* @return* @throws ...

  9. 获取 连接本地手机热点 的 的具体IP和MAC地址(其他手机或电脑)

       当在设备终端(手机,电脑等)上使用Wifi热点的时候,需要获知Wifi热点的运行状态,热点是否打开,连接到该WIFI热点的设备数量,以及连接设备的具体IP和MAC地址. 使用re文件管理器去&q ...

最新文章

  1. Android app动态加载
  2. iphone日历怎么跳转日期_晚上别调手表日期!手表调节日历的禁区!
  3. 20145303 《信息安全系统设计基础》第3周学习总结
  4. Flex 序列化自定义类 解决 sharedObject 保存自定义对象
  5. CF1322B-Present【双指针】
  6. centos7配置Docker镜像加速器
  7. Android功耗(9)---MTK功耗问题分析1
  8. hdu 1333水题
  9. 2019电子设计大赛:纸张计数显示装置
  10. sql时间转换时分秒_sql时间格式转换yyyymm
  11. Nodejs: redis客户端通过mset方法一次性批量写入多个key的值
  12. 安徽汽车网程序员删库跑路?安徽汽车官网只剩3张图片!
  13. Visual Studio快速配置增加文件版权声明
  14. Android 录制视频添加时间水印,Android开发教程入门
  15. 用友U8供应链期初数据录入案例教程2
  16. 大自然的印钞机农夫山泉是如何干过一群互联网与电商大佬的
  17. [python] 深度学习基础------人工神经网络实现鸢尾花分类(一)
  18. 网页设计——美食博客
  19. 语音信号处理-概念(一):时域信号(横轴:时间;纵轴:幅值)、频谱图(横轴:频率;纵轴:幅值)--傅里叶变换-->时频谱图(语谱图/声谱图)【横轴:时间;纵轴:频率;颜色深浅:幅值】
  20. 移动硬盘只能识别一个分区,另一个变为RAW的解决办法

热门文章

  1. 版权——如何自己申请软件著作权-注册篇
  2. 关于如何设置IDEA自动刷新项目目录
  3. 针对面试官的盘问-如何回答职场中的一些问题
  4. 结城浩 java_JAVA多线程设计模式 结城浩著 PDF下载
  5. 【开源软件】一种提升国内访问github体验的劲爆方法
  6. 视频教程-MCSE2012之412视频课程:配置WinSrv 2012 R2服务-微软认证
  7. everything搜索android,everything
  8. CMCC--simplerop 题解
  9. 如何用计算机计算分数乘法,50道分数乘法计算题,小学五年级数学分数乘法计算题100道...
  10. C语言判断字符串类型及个数并输出