zoukankan      html  css  js  c++  java
  • 【Android】获取Mac地址【2】

    之前写了【Android】获取Mac地址【1】有些不够详细,现在贴上一些其他代码,仅供参考。

    (1) 调用android 的API: NetworkInterface. getHardwareAddress ()

    该API的level为9,只有android 2.3以上才有该接口

    (2) 调用java 的方法: nbtstat/arp

    一般android不支持这两个命令。该方法没有试过。

    (3) 调用Android的API: WifiManager

    权限:

    AndroidManifest.xml

    代码:

    getMacFromWifi

    这个是需要设备开通Wifi连接,获取到网卡的MAC地址

    另,贴上,判断当前是否为wifi连接方式:

    isWifiConnected

    (4) 调用Linux的busybox

    getMacFromCallCmd

    其他相关函数:

    callCmd

    这个需要设备支持busybox工具。现在发现一些设备是没有安装该工具的,这时使用该方法,会报错。

    (5)查询记录了MAC地址的文件“/proc/net/arp”

    需要有这个文件,并且记录了相应的内容

    getMacFromFile


     

    readFileLines

    记录了MAC地址的文件“/proc/net/arp”内容大致如下:

    IP address       HW type     Flags       HW address            Mask     Device
    10.63.253.193    0x1         0x2         00:11:92:06:85:3f     *        eth0
    10.63.253.194    0x1         0x2         00:11:92:06:85:3a     *        eth1
    10.63.253.195    0x1         0x2         00:11:92:06:85:3b     *        eth2

    Done!!睡觉喽~

  • 相关阅读:
    Linux04 目录的相关操作(mkdir、rmdir、rm、cp)
    【PDARTS】2019-ICCV-Progressive Differentiable Architecture Search Bridging the Depth Gap Between Search and Evaluation-论文阅读
    【NAS with RL】2017-ICLR-Neural Architecture Search with Reinforcement Learning-论文阅读
    智能手机娱乐时代的反思——《娱乐至死》读书笔记
    人必活着,爱才能有所附丽——《玩偶之家》读书笔记
    Brute Force暴力破解
    学生信息管理系统.cpp(大二上)
    通讯录管理系统(大一上)
    如何在Unity中画抛物线
    Unity2.5D Sprite层级显示遮挡问题处理
  • 原文地址:https://www.cnblogs.com/Amandaliu/p/2802322.html
Copyright © 2011-2022 走看看